📜  JavaScript函数.prototype.call() 方法

📅  最后修改于: 2022-05-13 01:56:22.219000             🧑  作者: Mango

JavaScript函数.prototype.call() 方法

call()方法允许分配属于一个对象的函数调用,并为不同的对象调用它。它为函数提供了新的this值。 call()方法允许您编写一次方法并允许它在另一个对象中继承,而无需为新对象重写方法。

句法:

myFunc.call([thisArg[, arg1, arg2, ...argN]])

参数:

  • thisArg:调用myFunc函数时用作this的值。
  • arg1, arg2, ..., argN:这些是上述函数的参数。

注意:在某些情况下, thisArg可能不是实际值。如果方法处于非严格模式,原始值将被转换为对象,而 null、 undefined将被替换为全局对象。

返回值:作为函数调用的结果返回指定的this值和参数。

示例 1:以下示例演示了调用对象的链式构造函数的用法。

html


html


html


html


html


输出:

示例 2:以下示例演示了使用call()方法调用匿名函数。

html


输出:

#0 Pigeon: King
#1 Crow: Fail

示例 3:以下示例演示了使用call方法来调用函数并为'this'指定上下文。

html


输出:

Rats typically sleep between 2 and 5 hours

示例 4:以下示例演示了使用call()方法调用函数而不指定第一个参数。

html


输出:

string value is Brad

注意:在严格模式下, this的值将是未定义的。

html


输出:

Cannot read property 'str' of undefined