當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。