_proto_和prototype的区别
1. _proto_和prototype
prototype属性是⼀个静态属性,
_proto_属性是⼀个实例属性。typeof array
prototype表⽰类的原型对象,_proto_表⽰原型对象中定义的内部属性[prototype]的值。
类的每⼀个实例都有⼀个_proto_属性,⽤于引⽤创建它的构造⽅法的prototype属性,也就是该类的原型对象,即存在如下等式:(new Array("abc"))._proto_===Array.prototype (Array("abc")为Array的实例)
2.es5中增加的原型处理
使⽤PrototypeOf()⽅法可以得到指定的对象的prototype属性
该⽅法的格式为:PrototypeOf(obj),该⽅法是⼀个静态⽅法,能获取这个对象的原型
⽤户可使⽤如下代码实现浏览器兼容
if(PrototypeOf!=="function"){
if(typeof "test"._proto_==="object"){
return object._proto_;
};
}else{
structor.prototype;
};
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论