枯燥的js原型链

构成

	   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,实参列表。

猜你喜欢

转载自blog.csdn.net/weixin_51664705/article/details/113785720