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 toString()用法及代码示例
- JavaScript Function bind()用法及代码示例
- JavaScript Function apply()用法及代码示例
- JavaScript Function.displayName属性用法及代码示例
- JavaScript Function.name用法及代码示例
- JavaScript Function.length用法及代码示例
- JavaScript Function.length属性用法及代码示例
- JavaScript Object valueOf()用法及代码示例
- JavaScript Uint8Array.of()用法及代码示例
- JavaScript Number.isSafeInteger()用法及代码示例
- JavaScript Math abs()用法及代码示例
- JavaScript 正则 \xdd用法及代码示例
- JavaScript BigInt.prototype.toString()用法及代码示例
- JavaScript DataView.getInt16()用法及代码示例
- JavaScript Symbol.keyFor()用法及代码示例
- JavaScript handler.has()用法及代码示例
- JavaScript JSON.stringify()用法及代码示例
- JavaScript Symbol.split属性用法及代码示例
- JavaScript Date getYear()用法及代码示例
- JavaScript Date.UTC()用法及代码示例
注:本文由纯净天空筛选整理自 Javascript Function call()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。