我一直在使用Google Chrome version 28.0.1500.95 m
控制台测试一些JavaScript,我正在寻找更多了解它是如何工作的:看看下面的代码:
var obj = {
a: 99,
f: function() { }
}
console.log(obj.a)
console.log(obj.z)
console.log(obj)
o.z = 100;
这会输出以下结果:
99
undefined
Object {a: 99, f: function}
a: 99
f: function () { }
z: 100
__proto__: Object
我的问题是,为什么z
在日志之后才会在结果中显示?
我假设这是控制台如何工作的东西,而不是JavaScript中的一些奇怪的范围规则,我不知道?
有人能告诉我这里发生了什么吗?
答案 0 :(得分:11)
控制台中的对象最初显示为Object
,并在您单击箭头时展开。
展开对象时有一个i-icon,当你悬停它时,你会看到答案:
下面的对象状态在首次展开时被捕获
扩展后您看到的是扩展时对象的状态,而不是您拨打log()