1.函数运行时,自动生成的一个内部对象,只能在函数内部使用。
2.函数调用:
直接调用
,this为
window
作为
对象方法
的调用:函数还可以作为某个对象的方法调用,这时this就指向
这个上级对象
。
作为
构造函数
调用:所谓构造函数,就是通过这个函数生成一个新对象,这时this就指向这个
新对象
。
apply调用
:apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象,apply()的参数为空时,默认调用全局变量。参数个数不明确时就用apply.
call调用
:call和apply基本一样,就是接受的参数不一样。当参数个数明确时就用call.
bind调用
:与其他两个用法基本类似。区别在于,
当你希望改变上下上下文环境之后并非立即执行,而是回调执行时
,使用bind()方法。
注意:
this的值永远是在函数调用时确定的
this和函数的作用域没有关系