this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。匿名函数的执行环境具有全局性,因此其this对象通常指向window。
一般this会出现在以下几种情况
全局的this
浏览器下指向window,nodeJS下指向global
一般函数的this
浏览器下指向window,nodeJS下指向global
注意:在严格模式下,指向undefined
作为对象方法的函数this
一般指向调用对象方法的对象。
对象原型链上的this
指向调用的对象
get/set方法与this
一般会指向get/set方法所在的对象
构造器中的this
函数的返回值如果没有写return语句或者return作为基本类型时,则返回this;若return返回的是对象,则返回这个对象字面量。
call/apply与this
bind方法与this
ES5才开始提供的,IE9+才能使用
网友评论