概要:for-in-intraversalメソッドのループメーターは、オブジェクトの属性/メソッド名であり、配列とは異なり、配列要素のインデックスですfor-inは、継承属性の属性を継承します。
従来のループに加えて、JavaScriptはトラバーサル動作のためのfor-in-in methodを定義し、データソースに従って使用に違いがあります。
(1)移動オブジェクト:
次のようにコードコードをコピーします。
var fish = {{
頭:1、
尾:1、
}
for(魚のvar prop){
console.log(fish [prop]);
}
デバッグ中の観測:プロップは「ヘッド」、「テール」です。つまり、オブジェクト属性を通過するとき、文字列タイプの属性名とループカウンターがオブジェクトとしてです。
(2)トラバースアレイ
次のようにコードコードをコピーします。
var arr = ['one'、 'two'、 'three'];
for(arrのvar prop){
console.log(prop);
}
デバッグ中の観測:Propは「0」、「1」です。つまり、配列が配列を通過すると、文字列型に存在します。 (現時点では、ループ出力を試すことができます。結果はfor-in-inと一致しています)
コードが追加されている場合:
次のようにコードコードをコピーします。
if(object.prototype.clone === '未定義')
object.prototype.clone = function(){};
出力の結果は、0,1、クローンです
出力が現時点で使用されている場合、それはまだ0,1です。 、および出力もクローンであるため、常に使用するときは文字列を引く必要があります。オブジェクトの属性のみを操作する場合は、hasownProperty()を使用するなど、継承された属性を削除する必要があります。方法。