例えば:
このようなコードがあります:
コードコピーは次のとおりです。
var array = [];
array.push(1);
array.push(2);
array.push(3);
for(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は言う:こんにちは
現時点では、プロトタイプのプロパティを出力します
多くの場合、プロトタイプのプロパティを通過する必要はありません。もう1つの理由は、現在使用しているオブジェクトを保証できないことです。したがって、オブジェクトのプロパティをフィルタリングしましょう。
コードコピーは次のとおりです。
for(var i in array){
if(array.hasownproperty(i)){
console.log(i+":"+array [i]);
}
}
今何が出力されるのか考えてみてください。もちろん、それは0:1 1:2 2:3です。