我一直在使用以下方法测试一些 JavaScriptGoogle Chrome version 28.0.1500.95 m
控制台并希望对其工作原理有更多了解:看看下面的代码:
var obj = {
a: 99,
f: function() { }
}
console.log(obj.a)
console.log(obj.z)
console.log(obj)
o.z = 100;
Demo
这会输出以下结果:
99
undefined
Object {a: 99, f: function}
a: 99
f: function () { }
z: 100
__proto__: Object
我的问题是,为什么z
当它直到日志之后才声明时,在结果中可见吗?
我假设这与控制台的工作方式有关,而不是 JavaScript 中一些我不知道的奇怪的范围规则?
谁能告诉我这里发生了什么事吗?
控制台中的对象最初显示为Object
单击箭头时会展开。
展开对象时会出现一个 i 图标,将鼠标悬停在它上时您会看到答案:
下面的对象状态是在第一次扩展时捕获的
展开后看到的是对象展开时的状态,而不是调用时的状态log()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)