码迷,mamicode.com
首页 > 其他好文 > 详细

原型 prototype

时间:2014-12-04 13:36:25      阅读:134      评论:0      收藏:0      [点我收藏+]

标签: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);

   }

}

 

原型 prototype

标签:style   blog   io   ar   color   sp   on   div   log   

原文地址:http://www.cnblogs.com/lcw5945/p/4142471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!