📜  Javascript函数call()(1)

📅  最后修改于: 2023-12-03 14:42:41.148000             🧑  作者: Mango

Javascript函数call()

在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()方法将person1fullName方法应用到person2上。

注意事项
  • call()方法会立即调用函数,而不是创建一个新的绑定函数。
  • 如果函数需要参数,则需要在call()方法中传递参数列表。
  • call()方法不会创建函数的副本,只是在指定的上下文中调用函数。

关于call()方法的更多详细信息可以参考MDN文档