>  기사  >  웹 프론트엔드  >  속성이 있는지 확인하는 js 메소드

속성이 있는지 확인하는 js 메소드

小云云
小云云원래의
2018-03-20 17:19:101317검색

이 글은 주로 js에 속성이 있는지 판단하는 방법을 공유합니다. 모두에게 도움이 되기를 바랍니다.

객체 속성 액세스

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. 판단하려면 undefine을 사용하세요

자체 속성과 상속 속성 모두 판단할 수 있습니다.

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

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

var o={x:undefined};  
o.x!==undefined; 
//false,属性存在,但值是undefined  o.y!==undefined; 
//false  o.toString!==undefined //true
在4. 조건문에서 직접 판단
var o={};  
if(o.x) o.x+=1; 
//如果x是undefine,null,false," ",0或NaN,它将保持不变
E

객체 속성에 접근

1. 키워드에 사용

이 방법을 사용하면 객체의 소유권과 상속 속성이 존재할 수 있는지 확인할 수 있습니다.

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. 판단하려면 undefine을 사용하세요

자체 속성과 상속 속성 모두 판단할 수 있습니다.

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

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

var o={x:undefined};  
o.x!==undefined; 
//false,属性存在,但值是undefined  o.y!==undefined; 
//false  o.toString!==undefined //true

4. 조건문에서 직접 판단

var o={};  
if(o.x) o.x+=1;
//如果x是undefine,null,false," ",0或NaN,它将保持不变

관련 추천:

Javascript에서 스크립트의 태그 속성을 이해하는 방법

js에서 태그를 동적으로 생성하고 속성을 설정하는 방법

자바스크립트 객체에는 세 가지 속성이 있습니다

위 내용은 속성이 있는지 확인하는 js 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.