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 プロパティまたはオブジェクト。使用例は次のとおりです。
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 サイトの他の関連記事を参照してください。