美文网首页
call()与apply()的区别

call()与apply()的区别

作者: 大梦无痕 | 来源:发表于2018-06-04 15:22 被阅读0次

    JavaScript 的函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」 call(),apply() 改变函数内部this的指向 即改变运行时上下文

    function add(a,b){

    console.log(a+b)

    }

    function sub(a,b){

    console.log(a-b)

    }

    add.call(sub,1,1);//2

    add.apply(sub,[1,1]);//2

    实际运用场景

    function changeStyle(attr,value){

    this.style[attr] = value;

    }

    var box = document.getElementById("box");

    window.changeStyle.call(box,"height","200px");

    window.changeStyle.apply(box,["height","200px"]);

    相关文章

      网友评论

          本文标题:call()与apply()的区别

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