ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptのisPrototypeOfとhasOwnPropertyの使い方の違い(実践編)

JavaScriptのisPrototypeOfとhasOwnPropertyの使い方の違い(実践編)

亚连
亚连オリジナル
2018-05-21 15:02:491536ブラウズ

JavaScript isPrototypeOf と hasOwnProperty の使用に関するヒントが必要な友人は、それを参照できます。

1. isPrototypeOf
isPrototypeOf は、指定されたオブジェクト object1 が別のオブジェクト object2 のプロトタイプ チェーンに存在するかどうかを判断するために使用されます。存在する場合は true を返し、そうでない場合は false を返します。
形式は次のとおりです:
object1.isPrototypeOf(object2);
object1 はオブジェクトのインスタンスであり、
object2 はそのプロトタイプ チェーンがチェックされる別のオブジェクトです。
プロトタイプ チェーンを使用すると、同じオブジェクト タイプの異なるインスタンス間で機能を共有できます。
object2 のプロトタイプ チェーンに object1 が含まれている場合、isPrototypeOf メソッドは true を返します。
object2 がオブジェクトではない場合、または object1 が object2 のプロトタイプ チェーンに現れない場合、isPrototypeOf メソッドは false を返します。
使用例は次のとおりです:

var re = /^s*/;
// ここに正規表現オブジェクトを定義します
// RegExp が re のプロトタイプ チェーン オブジェクトであるかどうかを確認し、true を返します
var bIsptt = RegExp.prototype . isPrototypeOf(re);

2. hasOwnProperty hasOwnProperty は、オブジェクトがプロトタイプ チェーンにプロパティを持っているかどうかを確認できません。 。
プロパティまたはメソッドがプロトタイプ チェーンではなくオブジェクト自体によって定義されている場合は true を返し、そうでない場合は false を返します。
object.hasOwnProperty(proName);
proName の名前がオブジェクト object プロパティまたはオブジェクト。使用例は次のとおりです。

// プロトタイプチェーン内のプロパティが検出できないため false を取得します

var bStr = "Test String".hasOwnProperty("split");
// String オブジェクトのプロトタイプは既にこのプロパティは当然 true を返します
var bStr1 = String.prototype.hasOwnProperty("split");
// プロトタイプ内のプロパティが検出されないため true を返します
var bObj = ({fnTest:function(){}}) .hasOwnProperty("fnTest ");

上記は私が皆さんのためにまとめたもので、将来皆さんのお役に立てれば幸いです。

関連記事:

JQuery、Extjs、YUI、Prototype、DojoなどのJSフレームワークの違いと適用シナリオ(実践Tips)

JavaScriptオブジェクト指向におけるオブジェクトの型とスコープの包括的な分析コンセプト (添付の例)

JavaScript の __proto__ 属性の説明に焦点を当てます (画像とテキストのチュートリアル)

以上がJavaScriptのisPrototypeOfとhasOwnPropertyの使い方の違い(実践編)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。