主电话,申请并绑定在JavaScript和Ace您的面试
#javascript #网络开发人员 #编程 #面试

JavaScript是一种强大而灵活的语言,可让您使用三种方法来操纵功能的上下文:呼叫,应用和绑定。这些方法可用于更改thisinside a函数的值,该函数确定函数运行的对象。在本文中,我们将解释如何使用简单示例在JavaScript中使用呼叫,应用和绑定。

什么是呼叫,申请和绑定?

调用,应用和绑定是属于JavaScript 中函数原型对象的三种方法。它们允许您更改函数内部的值并使用不同的参数执行它。

称呼

呼叫方法用于调用具有给定值的函数,并将参数称为逗号分隔的值。

let person1 = {
  firstName: 'Karan',
  lastName: 'Sharma'
};

let person2 = {
  firstName: 'Rakesh',
  lastName: 'Verma'
};

function sayHello(greeting) {
  console.log(greeting + ' ' + this.firstName + ' ' + this.lastName);
}

sayHello.call(person1, 'Hello'); // Hello Karan Sharma
sayHello.call(person2, 'Hello'); // Hello Rakesh Verma

在此示例中,我们使用呼叫方法将sayhello函数与人对象作为其值和字符串作为参数来调用sayhello函数。这样,我们可以更改功能的上下文并访问函数内部对象的属性。

当您要执行具有不同的值和固定数量参数的函数时,呼叫方法很有用。您也可以使用呼叫方法从其他对象或类借用方法。

申请

应用方法非常与呼叫方法相似,只是它将参数作为数组(或类似数组的对象)而不是逗号分隔的值。例如:

let person1 = {
  firstName: 'Karan',
  lastName: 'Sharma'
};

let person2 = {
  firstName: 'Rakesh',
  lastName: 'Verma'
};

function sayHello(greeting) {
  console.log(greeting + ' ' + this.firstName + ' ' + this.lastName);
}

sayHello.apply(person1, ['Hello']); // Hello Karan Sharma
sayHello.apply(person2, ['Hello']); // Hello Rakesh Verma

绑定

绑定方法与调用不同,并应用方法是因为它不会立即执行该函数,而是返回具有给定的thisValue和参数的新功能。例如:

通过使用bind(),您可以使用预定义的上下文创建新功能,然后可以使用所需的参数调用。

let person1 = {
  firstName: 'Karan',
  lastName: 'Sharma'
};

let person2 = {
  firstName: 'Rakesh',
  lastName: 'Verma'
};

function sayHello(greeting) {
  console.log(greeting + ' ' + this.firstName + ' ' + this.lastName);
}

let sayHelloToPerson1 = sayHello.bind(person1);
let sayHelloToPerson2 = sayHello.bind(person2);

sayHelloToPerson1('Hello'); // Hello Karan Sharma
sayHelloToPerson2('Hello'); // Hello Rakesh Verma

如何解决这个面试问题?

通常在JavaScript访谈中问这个问题,以测试您对JavaScript功能的理解,以及如何使用呼叫,应用和绑定来操纵其上下文。这里有一些有关如何解决这个问题的提示:

  • 解释呼叫,应用和绑定其语法和行为之间的区别。
  • 举例说明如何使用不同参数和上下文的每种方法。
  • 提及这些方法有用或必要的一些用例或方案。
  • 将这些方法与更改其价值的其他方式进行比较和对比,例如箭头函数或全局对象。
  • 展示您对JavaScript中它的工作方式及其如何取决于执行上下文的了解。

概括

在本文中,我们学习了如何使用简单示例在JavaScript中使用呼叫,应用和绑定。当被问及时,我们还提供了一些有关如何解决这个面试问题的提示。这是要记住的一些关键点:

  • 呼叫,应用和绑定是三种方法,可以使您在功能中更改其值并使用不同的参数执行。
  • 呼叫并应用给定的值立即执行函数,并分别以逗号分隔值或数组为单位。
  • bind返回具有给定的值的新功能和以后可以调用的参数。
  • 这些方法可用于更改函数上下文并使用固定上下文创建新功能。 我们希望您发现这篇文章有帮助和信息丰富。