على سبيل المثال:
هناك قطعة من الكود مثل هذا:
نسخة الكود كما يلي:
var array = [] ؛
Array.Push (1) ؛
Array.Push (2) ؛
Array.Push (3) ؛
لـ (var i in array) {
console.log (i+":"+array [i]) ؛
}
ماذا سيتم الإخراج في هذا الوقت؟ بالطبع هو 0: 1 1: 2 2: 3
ولكن إذا قمت بإضافة array.prototype.say = "Hello" من قبل في ؛
ماذا سيخرج عند التشغيل مرة أخرى؟
نسخة الكود كما يلي:
0: 1 1: 2 2: 3 يقول: مرحبا
انظر ، في هذا الوقت ، سوف يخرج خصائص النموذج الأولي
في كثير من الحالات ، لا نحتاج إلى اجتياز خصائص النموذج الأولي. لذلك ، دعنا نرشح خصائص كائننا.
نسخة الكود كما يلي:
لـ (var i in array) {
if (array.hasownproperty (i)) {
console.log (i+":"+array [i]) ؛
}
}
فكر في ما الذي سيتم الإخراج الآن؟ بالطبع هو 0: 1 1: 2 2: 3.