bind方法
- bind方法的会将一个函数绑定到对象上,返回一个函数作为该对象的方法来调用
第一个参数代表着this的指向
function foo(x,y){
console.log(this)
console.log(x+y)
}
foo() // window
let obj = {}
// 绑定对象
let a = foo.bind(obj) // 返回一个函数
a() // obj
- 注意:如果绑定null的话,this还是会指向window
// 绑定null
let a = foo.bind(null)
a() // window
第二个参数开始代表着实参
function foo(x,y){
console.log(x+y)
}
let a = foo.bind(null,3)
a(2) //5
bind的使用
在闭包函数里使用
let obj = {
foo(){
return function (){
console.log(this)
}
}
}
obj.foo()() //window
- 使用bind来绑定this
let obj = {
foo(){
return function (){
console.log(this)
}.bind(this)
}
}
obj.foo()() //obj
本文详细介绍了JavaScript中bind方法的功能及使用技巧。bind方法可以改变函数内部this的指向,并且允许预设部分参数。通过示例代码展示了如何在闭包中使用bind确保正确的this上下文。
479

被折叠的 条评论
为什么被折叠?



