bind和apply,call都是用来改变this用的,只不过bind返回一个函数,不是立即调用。
先给window下增加一个str属性
window.str = '全局window下的str'
let a = {
str:'a对象内部的str',
fn:function(){
return this.str
}
}
a.fn()
调用a.fn打印出来是'a对象内部的str' 再看当我们把fn函数bind(this)以后,这个this就是全局window
let b = {
str:'a对象内部的str',
fn:function(){
return this.str
}.bind(this)
}
b.fn()
调用b.fn(),打印出来是'全局window下的str'
评论(0)