代码改变世界

原型+原型链

2018-01-30 09:38  fkk  阅读(96)  评论(0)    收藏  举报

//Person.prototype   -----原型

//Person.prototype={}   ----是祖先

Person.prototype.lastName="deng"

function  Person(){

}

var person =new Person();

var person1 =new Person();                

公共祖先就相当于是,person,person1都有Person.prototype

注意一点:如果构造函数里面有和原型上相同的属性和方法就调用自己的;

Person.prototype.lastName="deng"

function  Person(){

this.lastName="ji"

}

var person =new Person();

var person1 =new Person();    

原型的运用

利用原型特点和概念,可以提取共有属性;

一些共有的属性就不用写在构造器里面了;不用每一次去运行

一种简便的写法(因为原型也是对象)

 

原型的增删改查

Person.prototype.lastName="deng"

function  Person(name){

this.name="name";

}

var person =new Person(‘ji’);

person.prototype.lastName     -----------这样才能修改原型的属性

person.lastName=''james"      ---------这样是给自己增加属性(通过对象修改原型属性,基本是不可能的);对象也没法,增加原型的属性;

删除

 用delete 

delete.person.name                  删除自己的可以属性

delete.person.lastname            没法删除原型上的属性

 

constructor

car.constructor

function Car(){

}

constructor会发回构造这个对象的构造函数

constructor是继承来的,Car.prototype

 

constructor是可以手动修改的

结果为

car.constructor

function person(){

}