📅  最后修改于: 2023-12-03 14:42:41.148000             🧑  作者: Mango
在JavaScript中,call()
是一个用于调用函数的方法。它可以让你在指定的上下文中调用一个函数,即使该函数不属于该上下文。
function.call(thisArg, arg1, arg2, ...)
function
:要调用的函数。thisArg
:在函数执行时使用的this值。注意:如果该值为null或undefined,则默认为全局对象(在浏览器环境中为window对象)。arg1, arg2, ...
:函数参数列表。call()
方法常用于将一个对象的方法应用于另一个对象,并且可以在运行时绑定this
值。
const person1 = {
firstName: 'John',
lastName: 'Doe',
fullName: function() {
return this.firstName + ' ' + this.lastName;
}
};
const person2 = {
firstName: 'Jane',
lastName: 'Smith'
};
// 将person2的firstName和lastName属性传递给person1的fullName方法
const fullName = person1.fullName.call(person2);
console.log(fullName); // 输出: Jane Smith
在上面的示例中,我们有一个person1
对象,它有一个fullName
方法用于返回完整的姓名。我们也有一个person2
对象,它没有fullName
方法,但我们可以通过call()
方法将person1
的fullName
方法应用到person2
上。
call()
方法会立即调用函数,而不是创建一个新的绑定函数。call()
方法中传递参数列表。call()
方法不会创建函数的副本,只是在指定的上下文中调用函数。关于call()
方法的更多详细信息可以参考MDN文档。