当前位置:  开发笔记 > 编程语言 > 正文

javascript中functionName()和functionName.call()之间的区别

如何解决《javascript中functionName()和functionName.call()之间的区别》经验,为你挑选了2个好方法。

希望标题是自我解释的,与仅编写functionName()相比,在Javascript中使用.call()方法的优点是什么??



1> David Arno..:

functionName.call()将对象实例作为其第一个参数.然后它functionName在该对象实例的上下文中运行(即"this"是指定的实例)



2> Ates Goral..:

如果你没有传递任何东西call(),它将是相同的; 该函数将以与调用相同的范围运行call():

function test() {
    alert(this);
}

test(); // alerts the window object
test.call(); // alerts the window object

但是如果你传入一个对象call(),那么该对象将被用作范围:

test.call("hi"); // alerts "hi"

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有