理解prototype

来源:互联网 发布:python解压zip文件 编辑:程序博客网 时间:2024/04/28 15:13

1. 每定义一个函数,会自动创建一个prototype属性

function Person() {};alert(Person.prototype); //[Object]Person.prototype.name = "Jeff";Person.prototype.job = "Worker";


2. prototype会自动创建一个constructor的属性,constructor又指向了prototype所在的类。

alert(Person.prototype.constructor);//function Person(){};


3. 创建的实例包含了一个属性:__proto__(不是所以浏览器都支持这个属性),它指向了prototype

var person1 = new Person();alert(person1.__proto__); //[Object]alert(person1.__proto__.constructor); //function Person(){}alert(person1.__proto__.constructor == Person.prototype.constructor);// true;


参考资料: 《JavaScript高级程序设计》 6.1.3 原型模式


原创粉丝点击