gpt4 book ai didi

javascript - 为什么我的变量根据它们是数组还是整数而有所不同?

转载 作者:行者123 更新时间:2023-11-30 08:28:55 26 4
gpt4 key购买 nike

在互联网上阅读有关 Javascript 数组及其方法的文章后,我发现了一些东西,但我不明白发生了什么。我专门阅读了 Array.reverse() 方法:

var numbers = [60, 50, 20, 30];
var value = numbers.reverse();

console.log(numbers); // [30, 20, 50, 60]
console.log(value); // [30, 20, 50, 60]

让我感到困惑的是为什么变量“numbers”的值在这里发生了变化?

我很困惑,因为这里不成立:

var number = 3;
var value = number * 2;

console.log(number); // 3
console.log(value); // 6

我意识到在第一个例子中我处理的是数组,而在第二个例子中我只是处理整数。我不明白为什么在对变量“value”执行函数时修改了变量“number”的值。然而,它在第二个例子中没有被修改。这里有什么区别?

最佳答案

Array.prototype.reverse()就地反转数组,即它在此过程中修改原始数组。

来自 MDN:

The reverse() method reverses an array in place. The first array element becomes the last, and the last array element becomes the first.

var a = ['one', 'two', 'three'];
a.reverse();

console.log(a); // ['three', 'two', 'one']

在第二种情况下,您正在使用 primitives 进行简单计算.这不会改变计算中使用的原语。

关于javascript - 为什么我的变量根据它们是数组还是整数而有所不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40871037/

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