bind方法的主要作用是改变函数执行时的this指向并返回一个新函数,1. 改变this指向,例如将user.sayname绑定到anotheruser上使输出为jerry;2. 预设参数,如multiply.bind(null,2)预设a为2后续调用只需传b;3. 与call/apply的区别在于bind不立即执行而是返回新函数供后续调用。
在 JavaScript 中,bind 方法的主要作用是改变函数执行时的 this 指向,并返回一个新函数。它不会立即执行原函数,而是返回一个绑定好上下文的新函数,等你后面调用的时候,这个函数会以你指定的 this 来运行。
1. 改变 this 的指向
这是 bind 最常见的用途。在 JS 中,函数内部的 this 是动态决定的,有时候我们希望固定它的指向,这时候就可以用 bind。
举个例子:
const user = { name: 'Tom', sayName: function() { console.log(this.name); }};const anotherUser = { name: 'Jerry'};const boundSayName = user.sayName.bind(anotherUser);boundSayName(); // 输出 Jerry
登录后复制
文章来自互联网,不代表电脑知识网立场。发布者:,转载请注明出处:https://www.pcxun.com/n/705480.html