javascriptでのhasOwnProperty()メソッドの使い方ガイド_基礎知識

WBOY
リリース: 2016-05-16 16:10:45
オリジナル
1420 人が閲覧しました

概要

hasOwnProperty() メソッドは、オブジェクトに指定された独自のプロパティが含まれているかどうかを判断するために使用されます。

文法
obj.hasOwnProperty(prop)

パラメータ

•小道具

•検出する属性の名前。

説明

Object.prototype を継承するすべてのオブジェクトは、プロトタイプ チェーンから hasOwnProperty メソッドを継承します。このメソッドは、オブジェクトに特定の独自のプロパティが含まれているかどうかを検出するために使用できます。このメソッドは、プロトタイプのプロパティからのプロパティを無視します。チェーンから受け継がれたもの。


例 1: hasOwnProperty メソッドを使用して、オブジェクトに特定の独自のプロパティが含まれているかどうかを確認します

次の例では、オブジェクト o に独自の属性 prop が含まれているかどうかを確認します。

コードをコピーします コードは次のとおりです:

o = new Object();o.prop = 'exists';function changeO() {
o.newprop = o.prop;
o.prop;}o.hasOwnProperty('prop');
を削除します。 // true を返します
ChangeO();
o.hasOwnProperty('prop'); // false を返します


例 2: 独自のプロパティと継承されたプロパティの違い

次の例は、hasOwnProperty メソッドによる独自のプロパティと継承されたプロパティの処理の違いを示しています。

コードをコピーします コードは次のとおりです:
o = 新しいオブジェクト();o.prop = '存在';o.hasOwnProperty('prop'); // true を返します
o.hasOwnProperty('toString'); // false を返します
o.hasOwnProperty('hasOwnProperty'); // false を返します




例 3: オブジェクトのすべての自己プロパティをトラバースする
次の例は、オブジェクトのすべてのプロパティを走査するときに継承されたプロパティを無視する方法を示しています。ここでの for..in ループは、通常は Object.getOwnPropertyNames を直接使用します。方法でも同様のニーズを実現できます。

コードをコピーします

コードは次のとおりです: var buz = { 霧: 'スタック'}; for (buz の変数名) {
If (buz.hasOwnProperty(name)) {
alert("これは霧 (" name ") です。値: " buz[name]);
}
他 {
アラート(名前);
// toString またはその他
}}




例 4: hasOwnProperty メソッドが隠されている可能性があります
オブジェクトに独自の hasOwnProperty メソッドがある場合、プロトタイプ チェーン上の同じ名前のメソッドがシャドウされます。

コードをコピーします

コードは次のとおりです: var foo = { HasOwnProperty: function() { return false;
}、
bar: 'ここにドラゴン'};foo.hasOwnProperty('bar'); // 常に false を返します
// この状況が心配な場合は、プロトタイプ チェーンで実際の hasOwnProperty メソッドを直接使用できます
({}).hasOwnProperty.call(foo, 'bar'); // true
Object.prototype.hasOwnProperty.call(foo, 'bar'); // true



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