私は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 の奇妙なスコープ規則ではないと思いますか?
ここで何が起こっているのか誰か教えてください。