1
以下代碼如何遍歷所有屬性inc。例如[Symbol.iterator]
a = {
b() {return 3;},
[Symbol.iterator]() {return 4;}
};
console.log (a ['b']);
console.log (a [Symbol.iterator]);
console.log (111);
for (var attrib in a) {
console.log (attrib);
console.log (a [attrib]);
}
console.log (222);
打印
function b() {return 3;}
function() {return 4;}
111
b
function b() {return 3;}
222
爲什麼是第二函數,返回4中未打印在for循環。 如何製作一個所有屬性都打印的for-loop,包括特殊的屬性,如[Symbol.iterator]?
N.B.問題不在於如何編寫正確的迭代器函數,我知道我沒有這樣做。
Symbol.iterator是*符號*,你無法一一列舉這樣的,你必須使用Object.getOwnPropertySymbols(your_object)一一列舉。 – Azamantes
偉大,謝謝。請重新提交作爲答案,以便我可以信任你! –