>웹 프론트엔드 >JS 튜토리얼 >JavaScript_javascript 기술의 for-in 순회 방법 소개 예

JavaScript_javascript 기술의 for-in 순회 방법 소개 예

WBOY
WBOY원래의
2016-05-16 17:00:351144검색

요약: for-in 순회 메서드의 루프 카운터는 문자열 형식입니다. 객체를 순회할 때는 개체 속성/메서드 이름입니다. 배열을 순회할 때는 일반적인 for 루프와 달리 배열 요소 첨자 인덱스입니다. for-in은 속성을 상속합니다. / 메소드가 나열되어 있으므로 이를 사용할 때 특별한 주의가 필요합니다.

JavaScript는 전통적인 for 루프 외에도 순회 작업을 위한 for-in 메서드를 정의합니다. 데이터 소스에 따라 사용법이 다릅니다.
(1) 객체 탐색:

코드 복사 코드는 다음과 같습니다.

var fish = {
head : 1,
tail : 1,
}
for(var prop in fish) {
console.log(fish[prop])
}

디버깅 중 관찰: props는 'head', 'tail' 순서로, 즉 개체 속성을 순회할 때 문자열 형식으로 존재하며 루프 카운터는 속성 이름입니다. 물체.
(2) 배열 순회
코드 복사 코드는 다음과 같습니다.

var arr = [ '1', '2', '3'];
for(var prop in arr) {
console.log(prop)
}

디버깅하는 동안 관찰하십시오. prop은 순서대로 '0', '1'입니다. 즉, 배열을 순회할 때 여전히 문자열 유형으로 존재합니다. 차이점은 루프 카운터가 배열 요소의 첨자라는 것입니다. (이때 for 루프를 사용해 출력해 보면 결과는 for-in과 일치합니다)
코드에 추가하면
복사 코드 코드는 다음과 같습니다.

if(Object.prototype.clone === 'undefine')
Object.prototype.clone = function () {};

출력 결과는 0,1,clone
for 루프를 사용하여 출력하는 경우에도 여전히 0,1입니다. for-in 루프는 현재 동작하고 있는 데이터 소스의 타입의 속성을 사용하게 됩니다. -in to traverse: 객체 자체 속성에 대해서만 작업하는 경우 상속된 속성을 사용해야 합니다. hasOwnProperty() 메서드를 사용하는 등 해당 속성을 제거합니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.