码迷,mamicode.com
首页 > Web开发 > 详细

《学习笔记》什么是JS原型

时间:2015-05-27 13:43:49      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

1,//原型
function Box() {}               //构造函数函数体内什么都没有,这里如果有,叫做实例属性,实例方法

Box.prototype.name = ‘Lee‘;                    //原型属性
Box.prototype.age = 100;                         //原型属性
Box.prototype.run = function () {          //原型方法
     return this.name + this.age + ‘运行中...‘;
};

 

2//如果是实例方法,不同的实例化,他们的方法地址是不一样的,是唯一的(实例属性不会共享)

//如果是原型方法,那么他们地址是共享的,大家都是一样

 

3box1.name = ‘Jack‘;                                   //实例属性,并没有重写原型属性

alert(box1.name);                                        //就近原则
delete box1.name;                                   //删除实例中的属性
//delete Box.prototype.name;               //删除原型中的属性
//Box.prototype.name = ‘KK‘;               //覆盖原型中的属性
alert(box1.name);

 

4hasOwnProperty属性

alert(box1.hasOwnProperty(‘name‘));     //判断实例中是否存在指定属性

 

 

5in方法


alert(‘name‘ in box1);               //不管实例属性或原型属性是否存在,只要有就返回true,两边都没有,返回false

 

6prototype属性

通过这个属性去访问原型的相对应属性。

例如:box.name这个只是访问实例函数中的name属性。

Box.prototype.name则可访问到原型函数中的name属性。

 

7,实例函数

//构造函数
function Box(name, age) {
     this.name = name;                                                  //实例属性
     this.age = age;                                                            
     this.run = function () {                                             //实例方法
          return this.name + this.age + ‘运行中...‘;
     };
}

 

 

8,原型的重要特点是共享!!!

 

 

9,优点:

原型式继承的主要优点就是共享方法和属性,使得从原型对象中继承出来的子对象都可以在内存中共享全部的方法和属性,这如果是在大型的继承链中将会大大的改善性能和减少内存的使用量。

 

 

 

 

 

 

 

 

 

《学习笔记》什么是JS原型

标签:

原文地址:http://www.cnblogs.com/Alone-Learner/p/4533142.html

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