奇妙な!jsスコープとプロパティの列挙
私はJavaScriptを使ってMoodleのプラグインを開発中です。私はjsの専門家ではなく、ちょうど始めています。
console.log(M.core_filepicker.instances);
for (var clientid in M.core_filepicker.instances) {
console.log(M.core_filepicker.instances[clientid]);
}
にconsole.logビット出力、これを:私はと呼ばれる取得されたオブジェクト上の関数内でいくつかのデバッグコードを持って
Object
4e16f16a0dc14: FilePickerHelper
4e16f16a1837e: FilePickerHelper
4e16f16a03933: FilePickerHelper
4e16f169cd12c: FilePickerHelper
4e16f169d70e0: FilePickerHelper
4e16f169e2466: FilePickerHelper
4e16f169ed42e: FilePickerHelper
プロパティキー4e16 ...などとアン「オブジェクト」 FilePickerHelper型のこれらのプロパティの値。
しかし、forループは実行されません。
面白いのは、他のスコープで実行され、プロパティを反復処理することです。私のブラウザのデバッグコンソールや他の機能の中で。なぜこのようになるのか理解できません。ジェイミー
あなたは 'Object'は最初' log'声明と 'FilePickerHelper'sのプリントアウトではないと確信しているから来ますループ?ループ内に 'alert( 'hey')'を追加してください。 –
はい、最初のログ呼び出しでFilePickerHelpersが出力されていることを確認してください。 – jamiep
あなたのオブジェクトが次のように見えるのは本当に面白いでしょう: '{prop:" 4e16f16a0dc14:FilePickerHelper "、prop2:" 4e16f16a1837e:FilePickerHelper "など}' – Lapple