JAVSCRIPTにおけるハスOwnPropertyとisPrototypeOfの役割を理解する.

2028 ワード

ハスOwnProperty:オブジェクトが名前を与える属性やオブジェクトがあるかどうかを判断するために使用されます.ただし、この方法では、オブジェクトのプロトタイプチェーンにこの属性があるかどうかを確認できません.この属性はオブジェクト自身のメンバーでなければなりません.フォーマットは以下の通りです
1.例1:
var bStr = "Test String".hasOwnProperty("split");    //   false,               

 "Test String".split(" ");//         
2.例2:
var bStr1 = String.prototype.hasOwnProperty("split"); //String              ,    true  
 3.例3
var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest"); //   true,          
 Objectオブジェクト
              Object対象自体はあまり役に立たないですが、他の種類を知る前に、やはりそれを知るべきです.ECMAScriptのObjectオブジェクトはJavaのjava.lang.objectに似ていますので、ECMAScriptの中のすべてのオブジェクトはこのオブジェクトによって継承されます.Objectオブジェクトの中のすべての属性と方法は他のオブジェクトに現れるので、Objectオブジェクトを理解すれば、他のオブジェクトをよりよく理解することができます. 
     Objectオブジェクトは以下の属性を持っています.
     トラック            オブジェクトを作成する関数への参照(ポインタ)Objectオブジェクトに対して、このポインタは元のObject()関数を指します.      Prottotype             オブジェクトの原型に対する参照.すべてのオブジェクトについては、デフォルトではObjectオブジェクトの一例を返します.
 Objectオブジェクトにはいくつかの方法があります.
    ハスOwnProperty(property)      オブジェクトに特定の属性があるかどうかを判断します.この属性は文字列で指定しなければなりません.(例えば、o.hasOwnProperty(「name」)     Is PrototypeOf(object)     このオブジェクトが他のオブジェクトの原型かどうかを判断します.     ProptyIs Enumerable     与えられた属性がfor...in文で列挙できるかどうかを判断します.     ToString()     オブジェクトの元の文字列表現を返します.Objectオブジェクトについては、ECMA-622はこの値を定義していないので、異なるECMAScript実装は異なる値を持つ.    ValueOf()     オブジェクトに最適な元の値を返します.多くのオブジェクトに対して、この方法で返される値は、ToString()の戻り値と同じである.
 
締め括りをつける
 for inは、カスタマイズ属性とプロトタイプチェーン属性を含む、objectのすべての属性を取得することができます.
 hasOwnProperty()はカスタム属性のみを取得できます.プロトタイプチェーン属性は取得できません.オブジェクトが指定されたオブジェクトインスタンスに存在するかどうかはtrueに戻ります.そうでなければfalseに戻ります.
 isProttypeOf()は、そのプロトタイプチェーンのオブジェクトが指定されたオブジェクトのインスタンスに存在するかどうかを確認するために、trueに戻ります.そうでなければfalseに戻ります.
 みんなを歓迎して私達のQQ交流グループに参加します.