![](/img/trans.png)
[英]fetch gives me a full array but it is empty when i try to access it
[英]when i try to access array element by index it gives me undefined
我创建了一个array
并通过array.push()
插入元素。 当我使用console.log(array)
时,它给了我console.log(array) 的输出输出
当我console.log(array[0])
它给了我未定义的。 为什么正在发生,并且图片中出现蓝色 i 标记,上面写着“这个值是在第一次扩展时评估的,它可能从那时起在数组 javascript 中发生了变化”这是什么意思。 请帮我理解问题
当您console.log
一个对象(包括数组)时,它不会被序列化,只有一个引用被传递给控制台。 展开它时,此引用用于检查此对象的状态。
最有可能发生的事情是以下顺序:
console.log(array) // passes array reference to a console
console.log(array[0]) // prints undefined immediately
array.push(...) // an actual array modification
PS。
有理由问,如果引用由于任何原因变得无效,会发生什么。
对于浏览器 - 更简单,因为控制台和 JS 程序运行在同一个父进程下,浏览器负责一切。
但是,如果您尝试调试具有相同 API 传递引用的 Node 进程,您将面临各种奇怪的问题,例如: No debug adapter, can not send 'variables VSCODE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.