for(var i=0;i
var a = ["a" ,"b","c"];
for(var el in a){
alert(a[el])
}
a의 모든 요소는 전체 목록입니다. 물론 위의 예에서는
for(var i=0,len=a.length;i
}
이런 식으로 반복을 하게 되는데 가끔 이 방법이 안 먹히는 경우가 있습니다.
예:
var a = {"first" :1,"second":2,"third":3};
현재 for in은 목록을 모두 소진하는 데에만 사용할 수 있습니다.
객체가 in에 대해 철저하게 가능한지 여부는 propertyIsEnumerable 속성을 통해 판단할 수 있습니다. 설명은 다음과 같습니다.
propertyIsEnumerable 속성
은 지정된 속성이 일부인지 여부를 나타내는 부울 값을 반환합니다. 객체의 속성과 열거 가능한지 여부.
object.propertyIsEnumerable(proName)
매개변수
객체
필수입니다. 객체.
proName
필수입니다. 속성 이름의 문자열 값입니다.
설명
proName이 객체에 존재하고 For...In 루프를 사용하여 열거할 수 있는 경우 propertyIsEnumerable 속성은 true를 반환합니다. propertyIsEnumerable 속성은 객체에 지정된 속성이 없거나 지정된 속성이 열거 가능하지 않은 경우 false를 반환합니다. 일반적으로 미리 정의된 속성은 열거 가능하지 않지만 사용자 정의 속성은 항상 열거 가능합니다.
propertyIsEnumerable 속성은 프로토타입 체인의 객체를 고려하지 않습니다.