美文网首页
call 是什么意思?

call 是什么意思?

作者: 饥人谷_Vomx | 来源:发表于2017-03-19 11:41 被阅读0次

    有两个对象,a和b
    a有自己的方法do() 和属性attr:
    b有自己的属性bttr
    现在,b没有方法,但想要借用a的方法do()执行操作,该怎么办呢?
    通过call来调用
    a.call(b)
    //先a执行方法,通过函数的call()方法来b call过来,执行方法。括号里的参数传递的是函数执行时的作用域,一般是this,也可以指定作用域。
    后面可跟多个直接的参数,这个参数是当前函数的参数个数。

    https://cnodejs.org/topic/52cb927a7a15a384667e2054


    function cat(){};
    cat.prototype={
                    food:"fish",
                    say:function(){alert("I love"+this.food)}
                     };
    var blackCat = new cat;
    blackCar.say();
    
    

    现在有一只狗的对象,想要借用猫的方法来执行命令,于是:

    whiteDog = {food:"bone"}
    blackCar.say.call(whiteDog)
    

    https://www.zhihu.com/question/20289071

    相关文章

      网友评论

          本文标题:call 是什么意思?

          本文链接:https://www.haomeiwen.com/subject/ksemnttx.html