2010.10.19——— object的几个方法
[b]1. toString()[/b]
object的toString()方法比较有趣 它会揭示一些内置对象的内部类型信息,object的toString方法返回的字符串形式总是:
[ojbect class]
class是对象的内部类型,通常对应于该对象的构造函数名。例如:
[b]2.isPrototypeOf()[/b]
如果调用对象是实际参数指定的对象的原型对象 该方法返回true 类似constructor属性
[b]3.hasOwnProperty()[/b]
是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
[b]4.propertyIsEnumerable()[/b]
判断对象的这个属性是否可以被for/in枚举出来
[b]1. toString()[/b]
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"
[b]2.isPrototypeOf()[/b]
如果调用对象是实际参数指定的对象的原型对象 该方法返回true 类似constructor属性
var o = new Object();
Object.prototype.isPrototypeOf(o);//true o.constructor = Object;
Object.isPrototypeOf(o);//false
[b]3.hasOwnProperty()[/b]
是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
var o = new Object();
o.hasOwnProperty("fff");//false
o.hasOwnProperty("toString");//false toString是一个继承属性
[b]4.propertyIsEnumerable()[/b]
判断对象的这个属性是否可以被for/in枚举出来
var o = {x:1};
o.propertyIsEnumerable("x");//true
o.propertyIsEnumerable("y");//false
o.propertyIsEnumerable("toString");//false toString不可枚举