jsのhasownproperty使用例


例えば、

var array = [];
array.push(1);
array.push(2);
array.push(3);
for(var i in array) {
console.log(i+":"+array[i]);
}
は何を出力しますか?もちろん0:1:2:3ですが、for inの前にアラー.prototype.say=「hello」を追加すると。再運行は何を出力しますか?

0:1 1:2 2:3 say:hello
を見ましたよね。この時、プロトタイプの属性を出力します。プロトタイプの属性を遍歴する必要がないです。もう一つの原因は、私達が今使っている対象は保証できません。他の開発者は、プロトタイプに属性を加えていますか?だから、私達は対象の属性をフィルタリングしましょう。この時はハスOwnPropertyの方法を使いました。次のようにします。

for(var i in array){
if(array.hasOwnProperty(i)) {
console.log(i+":"+array[i]);
}
}
は今何を出力しますか?もちろん0:1:2:3です。