function.call()的作用是什么,请举例说明
时间: 2023-11-27 17:52:34 浏览: 58
function.call() 方法用于在特定的作用域中调用函数。它可以指定 this 关键字的值,并将参数作为函数的参数进行传递。下面是一个例子:
```
var person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
var person1 = {
firstName: "John",
lastName: "Doe"
}
var person2 = {
firstName: "Mary",
lastName: "Doe"
}
// 在特定的作用域中调用 person.fullName() 方法
var fullName1 = person.fullName.call(person1); // 返回 "John Doe"
// 在另外的特定的作用域中调用 person.fullName() 方法
var fullName2 = person.fullName.call(person2); // 返回 "Mary Doe"
```
在这个例子中,我们首先定义了一个名为 person 的对象,该对象包含一个 fullName 方法。然后我们定义了两个新的对象 person1 和 person2,它们都有 firstName 和 lastName 属性。我们通过使用 function.call() 方法来在特定作用域中调用 person.fullName() 方法,并指定 this 关键字的值为 person1 和 person2,从而返回正确的结果。