Javascript初级 JavaScript进阶

Object.prototype


JavaScript语言的所有对象都是由Object衍生的对象

所有对象都继承了Object.prototype的方法和属性,尽管它们可能被覆盖



属性


Object.prototype.constructor:返回一个指向创建了该对象原型的函数引用



示例代码


javascript1.png 


执行结果:


javascript2.png 


示例代码:


javascript3.png


执行结果:


javascript4.png 


示例代码:


javascript5.png 


执行结果:


javascript6.png 



注意


该属性的值是那个函数本身,而不是一个包含函数名称的字符串。对于原始值(如1,true 或 "test"),该属性为只读。

所有对象都会从它的原型上继承一个 constructor 属性



Object.prototype.hasOwnProperty()


检测某个对象是否含有指定的自身属性


语法:


obj.hasOwnProperty(prop)


参数:


要检测的属性名称


描述:


所有继承了 Object.prototype 的对象都会从原型链上继承到 hasOwnProperty 方法

这个方法可以用来检测一个对象是否含有特定的自身属性,和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性



Object.prototype.isPrototypeOf()


检测一个对象是否存在于另一个对象的原型链上


语法:


prototype.isPrototypeOf(object)


参数:


prototype:检测该对象是否在参数object的原型链上

object:在该对象的原型链上搜寻


描述:


isPrototypeOf方法允许你检测一个对象是否存在于另一个对象的原型链上

Object.prototype.propertyIsEnumerable():检测指定的属性名是否是当前对象可枚举的自身属性



obj.propertyIsEnumerable()


语法:


obj.propertyIsEnumerable(prop)


参数:


prop:需要检测的属性名


描述:


每个对象都有 propertyIsEnumerable 方法。该方法可以判断出指定的属性是否是自身的可枚举属性,也就是说该属性是否可以通过 for...in 循环等遍历到

有些属性虽然可以通过 for...in 循环遍历到,但因为它们不是自身属性,而是从原型链上继承的属性,所以该方法也会返回false。如果对象没有指定的属性,该方法返回 false。



Object.prototype.toString()


返回一个代表该对象的字符串


语法:


object.toString()


描述:


当对象需要转换为字符串时,会调用它的toString()方法.

默认情况下,每个对象都会从Object上继承到toString()方法,如果这个方法没有被这个对象自身或者更接近的上层原型上的同名方法覆盖(遮蔽),则调用该对象的toString()方法时会返回"[object type]",这里的字符串type表示了一个对象类型



Object.prototype.valueOf()


返回的是this值,即对象本身


示例代码:


javascript7.png 


执行结果:


javascript8.png 

 

示例代码:


javascript9.png 


执行结果:


javascript10.png 

 

示例代码:


javascript11.png 


执行结果:


javascript12.png 


语法:


object.valueOf()


返回值:


在其他类型的对象中,valueOf有可能返回一个不同的值



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

麦子大聚惠,豪华礼包你领了吗?

客服热线 400-862-8862

回到顶部