希望标题是自我解释的,与仅编写functionName()相比,在Javascript中使用.call()方法的优点是什么??
如果你没有传递任何东西call(),它将是相同的; 该函数将以与调用相同的范围运行call():
function test() {
alert(this);
}
test(); // alerts the window object
test.call(); // alerts the window object
Run Code Online (Sandbox Code Playgroud)
但是如果你传入一个对象call(),那么该对象将被用作范围:
test.call("hi"); // alerts "hi"
Run Code Online (Sandbox Code Playgroud)