บน MDN (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty) ฉันเห็นตัวอย่างดังนี้:
var buz = {
fog: 'stack'
};
for (var name in buz) {
if (buz.hasOwnProperty(name)) {
console.log('this is fog (' + name + ') for sure. Value: ' + buz[name]);
}
else {
console.log(name); // toString or something else
}
}
ในตัวอย่างข้อมูล console.log(name); // toString or something else
ดูทำให้ฉันสับสนเล็กน้อย ฉันเข้าใจว่า toString
เป็นคุณสมบัติของ Object.prototype
และคุณสมบัตินี้สามารถเข้าถึงได้โดย buz.toString
อย่างไรก็ตาม เมื่อฉันเรียกใช้ตัวอย่างใน Chrome ฉันไม่เห็นคุณสมบัติ toString
ถูกพิมพ์ (console.log) แม้ว่าความคิดเห็นจะบอกว่าควรวนซ้ำด้วย for..in
และพิมพ์ ..
ใครบ้างมีความคิดเกี่ยวกับสาเหตุที่คุณสมบัติจากต้นแบบไม่สามารถวนซ้ำด้วย "for..in" ได้
Object.prototype.toString
เป็นคุณสมบัติที่ไม่สามารถนับได้ - person Bergi   schedule 11.11.2015