// 使用 bind 绑定 this 指向
function greet(greeting, punctuation) {
return `${greeting} ${this.name}${punctuation}`;
}
const person = {
name: 'Alice'
};
// 创建一个新函数,bind 将 this 绑定到 person 对象
const greetPerson = greet.bind(person);
console.log(greetPerson('Hello', '!')); // 输出: Hello Alice!
// bind 还可以预设部分参数
const greetHello = greet.bind(person, 'Hello');
console.log(greetHello('!')); // 输出: Hello Alice!
bind
方法创建一个新的函数,在调用时将 this
关键字绑定到指定的对象(在这个例子中是 person
),并且可以选择性地预设部分参数。greetPerson
是通过 bind
将 this
绑定到 person
对象后的新函数,因此在调用 greetPerson
时,this.name
实际上引用的是 person.name
。greetHello
则进一步预设了第一个参数为 'Hello'
,所以在调用时只需要传递剩下的参数。下一篇:js bind方法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站