构成
Grand.prototype.lastname="DENG";
function Grand(){
}
var grand =new Grand();
Father.prototype=grand;
function Father(){
this.name="sds";
}
利用proto进行链接多个原型。
Object.creat(原型)
Object.creat(null)没有原型
创建一个空对象,会将括号内的对象作为原型赋值给新对象。
call/apply
作用,改变this指向
function Person(name,age){
this.name=name;
this.age=age;
}
var person = new Person('deng',100);
var obj = {
}
Person.call(obj,'cheng',300);
Person.call(obj);当call括号里面有对象时,Person里面的this就转变成了obj,但没有相应的属性值。
作用
改变对象里this的指向
不同点
二者区别,后面传的参数形式不一样
call需要把实参按照形参的个数传进去。
apply需要传一个arguments,实参列表。