9
私はGoogle Chrome version 28.0.1500.95 m
コンソールを使用して、いくつかのJavaScriptをテストしてきた前に、Google Chromeのコンソールにログインし、それがどのように動作するかをもう少し理解を探しています: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で奇妙なスコープルールではないと思っていますが、私はそれを知らないのですか?
ここで何が起こっているのか教えていただけますか?
バージョン28でさえ、彼らが行った唯一の改善は、これが起こっているかなり発見できないツールチップを追加することです。 – Esailija
私は配列の並べ替えをやっている:それらが異なる場合(つまり、私はここで配列を並べ替える)、それは私のスクリプトのロジックを間違って書いたことを意味ですか?最初に表示されるのは、展開されたリストに表示されるものと同じ順序ではないからです。 – efwjames
コンソールの出力はあなたのスクリプトロジックとは関係ありません(たとえば、ログに予想される注文を得るために結合された配列を記録するかもしれません) –