JS オブジェクトに特定のattribute_javascriptスキルがあるかどうかを判断する2つの方法

WBOY
リリース: 2016-05-16 17:11:06
オリジナル
1165 人が閲覧しました

2 つの方法ですが、少し異なります

1、演算子内

コードをコピー コードは次のとおりです。

var obj = {name:'jack' };
alert('name' in obj) // --> true
alert('toString' in obj);
プロトタイプ チェーン上の name と toString の両方が検出され、true が返されることがわかります。
2、hasOwnProperty メソッド

コードをコピー コードは次のとおりです。var obj = {name:'jack' };
obj.hasOwnProperty('name') // --> true
obj.hasOwnProperty('toString'); // false


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

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

もちろん、プロトタイプを書き直した後、for in は IE9/Firefox/Safari/Chrome/Opera で表示されます。参照:

for の欠陥

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