一般函数中的this
this对象是在运行时基于函数的执行环境绑定的:
- 当作对象中的方法调用的函数,this指向该对象
- 普通调用的函数中的this 指向运行环境的对象,一般是window
-
obj.dbl(),是对象方法调用函数。this指向obj。this.val可以看作是obj.val,this.val*=2为4.最后console.log(this.obj)=console.log(obj.obj)=4
而val在obj里面没有定义,就是全局的val=1,经过计算=2 -
下面
func()可以看到调用的时候,this指向window,所以这里的val与this.val都是同一个。经过计算后输出8
箭头函数中的this
箭头函数的this是在定义函数时绑定的,不是在执行过程中绑定的。简单的说,函数在定义时,this就继承了定义函数的对象
Vue中的this
将其当作vue对象。万物皆对象。