老师帮我看下结果
来源:3-9 选择练习
vivi_li
2020-05-08 23:10:40
var a=[4];
var b= a;
a = [4,44];
console.log(b);//[4]
a=b;
b.push(44);
console.log(a);//[4,44]
为什么我的代码返回的都是[4,44]
3回答
同学你好,由于控制台的原因,页面开始打开的时候,展现形式是这样的:
因为此时内存中a和b的值已经是程序运行的最终结果[4,44]了;再次刷新一下,控制台的展现形式就会变成如下这样:
它为我们展现了b最初的值是[4],将打印结果[4]展开,会发现它里面还是b最终的结果,如下:
所以如果想要看到第一次打印时b的值,需要刷新一下,让控制台以第二种方式展现形式。
好帮手慕久久
2020-05-09
同学你好,在当前页面打开的情况下,再刷新一下,就会看到打印结果不全部都是[4,44]了;原因是第一次打开页面时,代码先运行完,然后浏览器才执行console,所以打印的是a、b最后的运行结果。
好帮手慕久久
2020-05-09
同学你好,问题解答如下:
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
相似问题
回答 3
回答 1
回答 1
回答 2
回答 3