この記事では主に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. unfineed を使用して判定します
自身のプロパティと継承されたプロパティの両方を判定できます。
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
var o={}; if(o.x) o.x+=1; //如果x是undefine,null,false," ",0或NaN,它将保持不变
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. unfineed を使用して判定します
自身のプロパティと継承されたプロパティの両方を判定できます。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 オブジェクトには次の 3 つの属性があります
以上が属性があるかどうかを判断するjsメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。