为什么警报返回与console.log不同

时间:2016-12-07 15:52:11

标签: javascript jquery

我有一个小问题,一天下午困扰我。我是JavaScript的新手,很抱歉提出一个简单的问题,我想如果我无法弄清楚这个bug,我就不会睡觉。这就是杜松:

var a = [1, 3, 5, 7, 5, 3];
console.log(a);
/*Array[6]
0:1
1:3
2:3
3:5
4:5
5:7*/
alert(a);//1,3,5,7,5,3
var b = a.sort();
console.log(a);
/*Array[6]
0:1
1:3
2:3
3:5
4:5
5:7*/
alert(a);//1,3,3,5,5,7

我不明白为什么“console.log(a)”在调用function之前已经排序了。但是警报运行良好。谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

也许你感到困惑,因为你记录了两次你的数组。我希望下面的代码段能澄清一点:

var a = [3, 1, 2];
console.log('before', a);
a.sort();
console.log('after', a);