forサイクルとfor...inサイクルの違い
3086 ワード
forループ配列、文字列をループするために一般的に使用されます
for...inループは、通常、オブジェクトをループするために使用されます.
彼らの違いを詳しく説明します.ここでは、for inが配列ではなくarrayオブジェクトを遍歴していることをコードで検証します.アクセスする各値は、配列要素ではなくarrayの各属性です.たとえば、次のようにします.
j,jの値をStringと同じコードでもう一度入力
入力i,iの値はNumberなのでfor inとforには違いがあります.さらに,for inの使用効率はforサイクルよりはるかに低い.
var array = [1,2,3,4,5,6];
var sum = 0;
for (var i=0; i<array.length; i++){
sum+=array[i];
}
alert(sum);
for...inループは、通常、オブジェクトをループするために使用されます.
var stu = {
{name:" ",
sex:" ",
age:13},
{name:" ",
sex:" ",
age:18},
{name:" ",
sex:" ",
age:10}
};
for(var i in stu){
document.write(stu[i].name);
document.write(stu[i].age);
}
彼らの違いを詳しく説明します.ここでは、for inが配列ではなくarrayオブジェクトを遍歴していることをコードで検証します.アクセスする各値は、配列要素ではなくarrayの各属性です.たとえば、次のようにします.
var array = [1,2,3,4,5,6];
array[10] = 10;
for (var j in array){
alert(typeof j);
break;
}
j,jの値をStringと同じコードでもう一度入力
var array = [1,2,3,4,5,6];
for (var i=0; i<array.length; i++){
alert(typeof i);
break;
}
入力i,iの値はNumberなのでfor inとforには違いがあります.さらに,for inの使用効率はforサイクルよりはるかに低い.