当前位置: 移动技术网 > IT编程>开发语言>JavaScript > _proto_和prototype的区别

_proto_和prototype的区别

2019年10月10日  | 移动技术网IT编程  | 我要评论
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;
                      };
                  }
              }

 

 
 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网