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 原型模式