标签:
1,//原型
function Box()
{}
//构造函数函数体内什么都没有,这里如果有,叫做实例属性,实例方法
Box.prototype.name =
‘Lee‘;
//原型属性
Box.prototype.age =
100;
//原型属性
Box.prototype.run = function ()
{ //原型方法
return this.name + this.age + ‘运行中...‘;
};
2,//如果是实例方法,不同的实例化,他们的方法地址是不一样的,是唯一的(实例属性不会共享)
//如果是原型方法,那么他们地址是共享的,大家都是一样
3,box1.name = ‘Jack‘; //实例属性,并没有重写原型属性
alert(box1.name);
//就近原则
delete
box1.name;
//删除实例中的属性
//delete
Box.prototype.name;
//删除原型中的属性
//Box.prototype.name =
‘KK‘;
//覆盖原型中的属性
alert(box1.name);
4,hasOwnProperty属性
alert(box1.hasOwnProperty(‘name‘)); //判断实例中是否存在指定属性
5,in方法
alert(‘name‘ in
box1);
//不管实例属性或原型属性是否存在,只要有就返回true,两边都没有,返回false
6,prototype属性
通过这个属性去访问原型的相对应属性。
例如: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,优点:
原型式继承的主要优点就是共享方法和属性,使得从原型对象中继承出来的子对象都可以在内存中共享全部的方法和属性,这如果是在大型的继承链中将会大大的改善性能和减少内存的使用量。
标签:
原文地址:http://www.cnblogs.com/Alone-Learner/p/4533142.html