2010.19———objectのいくつかの方法
1395 ワード
2010.19———objectのいくつかの方法
1.toString()
objectのtoString()の方法は面白いです。それはいくつかの内蔵オブジェクトの内部タイプの情報を掲示します。objectのtoStringメソッドから返ってくる文字列の形式はいつも以下の通りです。
[ojbect class]
classはオブジェクトの内部タイプで、通常はオブジェクトの構造関数名に対応します。たとえば:
呼び出し対象が実際のパラメータで指定されたオブジェクトの原型オブジェクトである場合、この方法はtrue同様のconstructor属性を返します。
は、オブジェクトが名前を与える属性またはオブジェクトがあるかどうかを判断するために使用されます。ただし、この方法では、オブジェクトのプロトタイプチェーンにこの属性があるかどうかを確認できません。この属性はオブジェクト自身のメンバーでなければなりません。
オブジェクトのこの属性をfor/inで列挙できるかどうかを判断します。
1.toString()
objectのtoString()の方法は面白いです。それはいくつかの内蔵オブジェクトの内部タイプの情報を掲示します。objectのtoStringメソッドから返ってくる文字列の形式はいつも以下の通りです。
[ojbect class]
classはオブジェクトの内部タイプで、通常はオブジェクトの構造関数名に対応します。たとえば:
Array ——"Array"
Function ——"Function"
Date ——"Date"
Math ——"Math"
Error ——"Error"
Object.prototype.toString.call(window);
, window JavaScript ——"Object"
2.isPrototypeOf()呼び出し対象が実際のパラメータで指定されたオブジェクトの原型オブジェクトである場合、この方法はtrue同様のconstructor属性を返します。
var o = new Object();
Object.prototype.isPrototypeOf(o);//true o.constructor = Object;
Object.isPrototypeOf(o);//false
3.ハスOwnProperty()は、オブジェクトが名前を与える属性またはオブジェクトがあるかどうかを判断するために使用されます。ただし、この方法では、オブジェクトのプロトタイプチェーンにこの属性があるかどうかを確認できません。この属性はオブジェクト自身のメンバーでなければなりません。
var o = new Object();
o.hasOwnProperty("fff");//false
o.hasOwnProperty("toString");//false toString
4.propertyIs Enumerable()オブジェクトのこの属性をfor/inで列挙できるかどうかを判断します。
var o = {x:1};
o.propertyIsEnumerable("x");//true
o.propertyIsEnumerable("y");//false
o.propertyIsEnumerable("toString");//false toString