JSオブジェクトが特定の属性を持っているかどうかを判断する方法

高洛峰
リリース: 2017-02-08 17:29:00
オリジナル
1072 人が閲覧しました

JSオブジェクトが特定の属性を持っているかどうか

2つの方法ですが、若干の違いがあります

1、operator内

var obj = {name:'jack'};
alert('name' in obj); // --> true
alert('toString' in obj); // --> true
ログイン後にコピー

プロトタイプチェーン上のnameであろうとtoStringであろうと、戻り値は次のとおりであることがわかります真であることが検出される。

2. hasOwnProperty メソッド

var obj = {name:'jack'};
obj.hasOwnProperty('name'); // --> true
obj.hasOwnProperty('toString'); // --> false
ログイン後にコピー

プロトタイプチェーン上の継承されたプロパティは hasOwnProperty によって検出できず、false を返します。

in はプロトタイプチェーンのプロパティを検出できますが、for in は通常は検出できないことに注意してください。

もちろん、プロトタイプを書き直した後は、IE9/Firefox/Safari/Chrome/Opera で for in が表示されるようになりました。参照: for の欠陥

お読みいただきありがとうございます。皆様のお役に立てれば幸いです。このサイトのご支援に感謝いたします。

JS オブジェクトに特定の属性があるかどうかを判断する方法に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート