刚接触js,请教一个很小白的问题
javascript吧
全部回复
仅看楼主
level 1
p😑q 楼主
如上图,为什么两次都是输出同样的结果?
2020年07月15日 14点07分 1
level 11
我怎么看都觉得应该是不一样的
2020年07月15日 15点07分 3
level 6
数组是一种引用数据类型,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的
实际的数组元素被存储在堆(heap)内存中;数组引用变量是一个引用类型的变量,被存储在栈(stack)内存中。
对象使用的是引用赋值。当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在堆中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容
去看看基本数据类型与引用数据类型都有哪些?传值与传址的区别?
2020年07月15日 15点07分 4
谢谢解答!
2020年07月15日 15点07分
level 13
这个问题应该归咎于运行的环境不一样,处理的方式也不一样。
像在 chrome 这样的浏览器环境,在控制台输出会保留已经显示在控制台的那一部分,比如同样是这个例子,在 chrome 里控制台看到的预览两个分别是 [1,2,3] 和 [1,44,3],展开来之后是一样的。但是如果在值改变之前先展开了之前的那一个输出,那么展开之后的也是不一样的。
你这个是什么软件我不知道,但是它应该不会保留控制台已经显示的部分,又或者是这个软件专门做过优化,在代码段执行完后才会一并更新控制台,又或者在控制台显示的是数据的实时状态。
总之,这个是 js 引擎的问题,不必纠结。
2020年07月15日 20点07分 6
level 6
好奇你用的什么打印出来的,在ie,node,chrome上和你这都不一样
2020年07月17日 01点07分 7
level 11
控制io异步
2020年07月19日 01点07分 9
level 1
VS Code直接跑出来的结果是这样的
2020年07月20日 02点07分 10
1