当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript Function call()用法及代码示例


JavaScript Function call() 方法调用具有给定 this 值和单独提供的参数的函数。

用法:

func.call(thisArg, arg1, ... argN)

在这里,func 是一个函数。

参数:

call() 方法包含:

  • thisArg - 为调用 func 提供的 this 的值。
  • arg1, ... argN(可选)- 函数的参数。

返回:

  • 返回使用指定的this 值和参数调用函数的结果。

通过使用call(),我们可以使用属于一个对象的函数来分配和调用另一个对象。

示例 1:使用 call()

function greet() {
  const string = `My name is ${this.firstName} ${this.secondName}. I am ${this.age} years old.`;
  console.log(string);
}

const human = {
  firstName: "Judah",
  lastName: "Parker",
  age: 26,
};

greet.call(human); // My name is Judah undefined. I am 26 years old.

输出

My name is Judah undefined. I am 26 years old.

示例 2:使用 call() 链接构造函数

function Animal(name, age) {
  this.name = name;
  this.age = age;
}

function Horse(name, age) {
  Animal.call(this, name, age);
  this.sound = "Neigh";
}

function Snake(name, age) {
  Animal.call(this, name, age);
  this.sound = "Hiss";
}

const snake1 = new Snake("Harry", 5);
console.log(snake1.name, snake1.age, snake1.sound);

const horse1 = new Horse("Arnold", 8);
console.log(horse1.name, horse1.age, horse1.sound);

输出

Harry 5 Hiss
Arnold 8 Neigh

注意:和...之间的不同call()apply()就是它call()接受一个参数列表,而apply()接受单个参数数组。

相关用法


注:本文由纯净天空筛选整理自 Javascript Function call()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。