请问两次输出结果中a和b的值各是多少?

1.请问两次输出结果中a和b的值各是多少?
var a = [2,3,4];
    var b = a;
    a.push(5);
    console.log(a,b);
    a = [3,4,5,6];
    console.log(a,b)

分析一下:
//输出结果:a = [2,3,4,5]  b = [2,3,4,5]
a = [3,4,5,6]   b = [2,3,4,5]
阅读 2.3k
1 个回答

首先要明确的一点是:在JavaScript中数组也是对象。所以var b = a时,都指向了[2, 3, 4],所以a.push(5)时,会一起变化。
a = [3, 4, 5, 6]时,a指向了[3, 4, 5, 6],此时a的指向已经改变,但b的指向未改变。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题