奇怪!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」,etc}' – Lapple