标签:style blog io ar color sp on div log
static prototype:Object
函数的原型是静态的,也就是一个函被创建无论多少次原型是一个
如果将属性和方法添加到原型中,则所有函数对象都会共有这些属性和方法
function Person(){ } Person.prototype.name = "Jack"; Person.prototype.sayName=function(){ alert(this.name); } var p1 = new Person(); var p2 = new Person(); alert(p1.sayName == p2.sayName); //true
一个新函数都会有个原型对象,默认情况下原型对象会自动创建一个constructor(构造函数) 属性,这属性指向函数本身.
但是如果这么写:
Person.prototype = { name : "Tom", sayName: function (){ alert(this.name); } } var p1 = new Person(); alert(p1.constructor == Person); //false alert(p1.constructor == Object); //true
因为是prototype是静态的这样被重写了 所以contructor属性也就变成了新对象的constructor属性。
如果需要construtor属性可以这么写:
Person.prototype = { constructor: Person, name : "Tom", sayName: function (){ alert(this.name); } }
标签:style blog io ar color sp on div log
原文地址:http://www.cnblogs.com/lcw5945/p/4142471.html