gpt4 book ai didi

javascript - 为什么 JavaScript 中的某些方法会复制所调用的对象?

转载 作者:行者123 更新时间:2023-11-29 17:50:21 25 4
gpt4 key购买 nike

在 JavaScript 中,一些方法会复制调用它的对象,而另一些则不会。

例如:

var numbers = [1, 2, 3, 4, 5];
numbers.map(function(x) { return x + 1 });
console.log(numbers); // [1, 2, 3, 4, 5];

它会复制您必须设置为另一个变量的“数字”。

鉴于:

var numbers = [1, 2, 3, 4, 5];
numbers.reverse();
console.log(numbers); // [5, 4, 3, 2, 1];

它直接改变“数字”。谁能解释一下为什么?

最佳答案

这是由于将方法合并到 JavaScript 中的时间不同。

第一个版本的 ECMAScript 中有反向方法.

map 是最近在第 5 版中添加的。

如今,语言的功能性越来越强。函数式语言的主要原则之一是数据的不变性。因此,数组的这些新方法(即 map、filter 等)是有效的,不会改变源数组。

关于javascript - 为什么 JavaScript 中的某些方法会复制所调用的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44387710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com