小编Joh*_*hen的帖子

为什么会这样?(javaScript的反向方法)

repl.it:https://repl.it/BuXR/3

var str = "abc";
var str2 = str.split(" ").join("").split("");
var tmp = str2;
console.log(str2);
// => ['a','b','c']
console.log(tmp.reverse());
// => ['c','b','a']
console.log(str2);
// => ['c','b','a']
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么str2正在改变,即使它没有被逆转?

这对我来说非常令人沮丧,但我猜到为什么会发生这种情况.tmp只是指向原始str2的指针,当我在tmp上调用reverse()时,它实际上反转了str2.

即使这确实是正在发生的事情,我仍然觉得这是一种非常违反直觉的语言工作方式.

javascript arrays reverse

13
推荐指数
3
解决办法
895
查看次数

标签 统计

arrays ×1

javascript ×1

reverse ×1