call()与apply()的区别

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"]);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容