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