1. _proto_和prototype
prototype属性是一个静态属性,
_proto_属性是一个实例属性。
prototype表示类的原型对象,_proto_表示原型对象中定义的内部属性[prototype]的值。
类的每一个实例都有一个_proto_属性,用于引用创建它的构造方法的prototype属性,也就是该类的原型对象,即存在如下等式:(new array("abc"))._proto_===array.prototype (array("abc")为array的实例)
2.es5中增加的原型处理
使用object.getprototypeof()方法可以得到指定的对象的prototype属性
该方法的格式为:object.getprototypeof(obj),该方法是一个静态方法,能获取这个对象的原型
object.getprototypeof(new array("abc"))===array.prototype与(new array("abc"))._proto_===array.prototype意义相同
用户可使用如下代码实现浏览器兼容
if(typeof object.getprototypeof!=="function"){
if(typeof "test"._proto_==="object"){
object.getprototypeof=function(object){
return object._proto_;
};
}else{
object.getprototypeof=function(object){
return object.constructor.prototype;
};
}
}
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
-
-
-
-
-
-
-
js编写简易的计算器
本文实例为大家分享了js编写简易计算器的具体代码,供大家参考,具体内容如下使用绑定时间触发 加减乘除加:减:乘:除:源代码:<body> 第一个数...
[阅读全文]
网友评论