谁调用了这个方法,this就指向的谁, 如果想改变this指向可以使用call函数
demo.call(this)function demo(){
var _this = this // 这里的this就是上面call方法中传过来的this
}
这简单,你知道js中,函数有两种调用方式,一种是函数调用,一种是方法调用。举例:
function test(){
console.info(this)
}
var obj = new Object()
obj.val = "去吧!皮卡丘"
obj.test = test//将函数作为函数变量付给对象属性
test()//函数调用
obj.test()//方法调用
函数调用就是直接 test()这种方式运行函数时,this的值 (严格模式下)等于null,(非严格模式)等于全局变量。
方法调用是 将函数作为一个作为属性赋给一个变量。
这时this的值 指代调用上下文,也就是例子中的obj了,但函数最好在调用完成后,返回this,这样就能做出方法链