JS中prototype与_proto_的区别
2019-05-29 13:21
183 查看
prototype
每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型对象上继承属性和方法。无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,默认情况下prototype属性会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针,
function Person(){}
proto
proto 一般情况指向的是该对象的构造函数的prototype
关系
当调用构造函数创建一个实例的时候,实例内部将包含一个内部指针(很多浏览器这个指针名字为__proto__)指向构造函数的prototype,这个连接存在于实例和构造函数的prototype之间,而不是实例与构造函数之间。
function Person(name){ this.name=name; } Person.prototype.printName=function(){ alert(this.name); } var person1=new Person('Byron'); var person2=new Person('Frank');
Person的实例person1中包含了name属性,同时自动生成一个__proto__属性,该属性指向Person的prototype,可以访问到prototype内定义的printName方法
区别
原:https://www.geek-share.com/detail/2588705677.html
更多请参考:https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Objects/Object_prototypes
相关文章推荐
- Js中__proto__和prototype的区别和关系
- [转载]js中__proto__和prototype的区别和关系
- js中__proto__和prototype的区别和关系?
- js中__proto__和prototype的区别和关系
- js中__proto__和prototype的区别和关系?
- js中__proto__和prototype的区别和关系?
- js中__proto__和prototype的区别和关系?
- [JS]_proto_和prototype到底有啥区别
- 浅谈JS __proto__与prototype的联系与区别
- JS中原型链中的prototype与_proto_的理解和区别
- JS prototype与__proto__的联系与区别
- js中__proto__和prototype的区别和关系?
- 前端知识点分析——js里的__proto__和prototype有什么区别?
- js中__proto__和prototype的区别和关系?
- 阐述JS中原型链及prototype和__proto__的区别
- js中prototype和__proto__区别(转)
- JS的prototype和__proto__
- js中的原型——__proto__和prototype
- js中类定义函数时用prototype与不用的区别
- Js中Prototype、__proto__、Constructor、Object、Function关系介绍