>  기사  >  웹 프론트엔드  >  javascript_javascript 기술을 사용하여 객체에 특정 속성이 존재하는지 확인하는 방법 요약

javascript_javascript 기술을 사용하여 객체에 특정 속성이 존재하는지 확인하는 방법 요약

WBOY
WBOY원래의
2016-05-16 17:33:311130검색

객체에 속성이 있는지 여부를 감지하는 방법에는 여러 가지가 있습니다.
1. in 키워드를 사용하세요
이 방법을 사용하면 객체의 고유 속성과 상속 속성이 있는지 확인할 수 있습니다.

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

var o={x:1};
"x" in o; //true, 자체 속성이 존재함
"y" in o; //false
"toString" in o; //true, 상속된 속성임

2. 객체의 hasOwnProperty() 메서드를 사용하세요
이 메서드는 자체 속성이 있는지 여부만 확인할 수 있으며 상속된 속성에 대해서는 false를 반환합니다.
코드 복사 코드는 다음과 같습니다.

var o={x:1};
o.hasOwnProperty("x"); //true, 자체 속성에 x가 있음
o.hasOwnProperty("y") //false, 자체 속성에 y가 없음
o.hasOwnProperty(" toString"); //false, 이는 상속된 속성이지만 자체 소유 속성은 아닙니다.

3. 판단하려면 정의되지 않음을 사용하세요.
자기 소유 재산과 상속 재산 모두 판사로 사용될 수 있습니다.
코드 복사 코드는 다음과 같습니다.

var o={x:1};
o.x!==undefine; //true
o.y!==undefine; //false
o.toString!==undefine //true

문제가 있습니다 이 메서드를 사용하면 속성 값이 정의되지 않은 경우 다음과 같이 이 메서드는 원하는 결과를 반환할 수 없습니다.
코드 복사 코드는 다음과 같습니다.

var o={x:undefine};
o.x!==undefine; //false, 속성은 존재하지만 값은 정의되지 않았습니다.
o.y!==undefine; //false
o.toString!==undefine //true

4. 조건문에서 직접 판단
코드를 복사하세요 다음과 같습니다:

var o={};
if(o.x) o.x =1; //x가 정의되지 않았거나, null, false, " ", 0 또는 NaN이면 그대로 유지됩니다. 변함없이
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.