如何理解和熟练运用js中的call及apply

 我来答
护肤达人IT宅族
2016-08-22 · 知道合伙人互联网行家
护肤达人IT宅族
知道合伙人互联网行家
采纳数:5637 获赞数:17441
毕业于曲阜师范大学,学士学位。互联网行业2年从业经验,读过SEO相关书籍。现任爱家网SEO优化专员。

向TA提问 私信TA
展开全部
书上都有例子,多看看,照着打几次,就感觉出来了,
call和apply的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值,也就是把想要运行的代码的作用域拿过来。比如你有一个函数o 但是如果直接执行,因为现在在当期作用域中并没有定义函数o。而是在另外一个函数作用域中定义的,比如
Window.color=“ red“;
var o={color:“blue”};
function sayColor(){
alert(this.color);
}
sayColor();// red
sayColor(this);//red
sayColor(window);//red
sayColor(o);//blue
他们的区别仅在于接受参数的不同
首先apply()方法接受两个参数一个是在其中运行函数的作用域,另一个是参数数组,其中第二个可以是Array的实例也可以是arguments对象
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式