【JavaScript】__proto__和prototype的区别和联系【整理】
var person={name:'ninja'}; person.prototype.sayName=function(){ return this.name; }
Chrome运行结果:
提示找不到sayName属性.
js是可以随时添加属性,不过不是针对实例对象本身,而是针对其实例对象所属的类型对象.
eg:
var Person=function(name){ this.name=name; }; Person.prototype.sayName=function(){ return this.name; }; var a_person=new Person('ninja'); var name=a_person.sayName();
a_person为实例对象,Person为实例对象所属的类型对象.
两个对象的具体属性:
实例对象存在一个__proto__属性来实现对类型对象的prototype的引用.
这篇文章不错推荐下:http://www.cnblogs.com/shineqiujuan/p/3176786.html