毫无疑问,在谈到javascript的this时,正和这种特殊的语言一样,其this也较其他语言有着其特殊性。
在传统的面向对象的语言中,比如java,函数一般是依附于某个对象而存在,在这些语言中,函数一般
称方法。但是在javascript中,函数是一等对象,也就是说他和其他对象一样,在对象这个层面上并没有
什么特殊性,他可以被赋值给变量,可以由其他函数返回,可以作为参数。因此其this并不会特别依附于
那个对象,而是动态的,this指向调用它的对象,也就是和其执行上下文有关,this的值可以随着调用的
不同而发生变化,最明显的就是可以通过call和apply改变其调用,从而改变this的值。需要说明的是,
this是在调用期决定的,而非定义时确定。