call、apply的用法

2018-08-29  本文已影响0人  蜗牛Coming

在网上看到的一句话概括,感觉很明了,记录一下
A.functionA.apply(B,[arg1,arg2,...]) === A.functionA.call(B,arg1,arg2,...) ===B.functionA(arg1,arg2,...)
也就是自己没有的属性和方法,去借用别人的方法和属性来执行操作。

一些demo

function Animate(name){
        this.name = name;
        this.sayName = function(){
            console.log(this.name);
        }
    }

    function Cat(name){
        Animate.apply(this,[name]);
        //等价于
        //Animate.call(this,name);
    }

    var cat = new Cat('miaomiao');
    cat.sayName(); //miaomiao
var arr1 = new Array(1,4,15,9,12,8);
var max = Math.max.apply(Math,arr1);
console.log(max); // 15
上一篇 下一篇

猜你喜欢

热点阅读