美文网首页
call & apply

call & apply

作者: Love小六六 | 来源:发表于2017-10-12 21:18 被阅读0次

在特定的作用域中调用函数
apply接收两个参数,一个为在其中运行的函数的作用域,另一个为参数数组
call第一个参数也是运行函数的作用域,但其余参数都必须逐个列举出来

sum.apply(this, [num1, num2]);
sum.call(this, num1, num2);

主要用于扩充函数的作用域

window.color = "red";
var o = { color: "blue" };
function sayColor(){
    alert(this.color);
}
sayColor();//red
sayColor.call(this);//red
sayColor.call(window);//red
sayColor.call(o);//blue
window.color = "orange";
var o = { color: "blue",
        sayColor:function(){
         alert(this.color);
}};
o.sayColor() // blue
o.sayColor.call(this) //orange
o.sayColor.call(window) //orange
o.sayColor.call(o) // blue

相关文章

网友评论

      本文标题:call & apply

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