懵逼的this指向

请看以下代码:

以上的console.log打印出来的,如果你能完全知道,请忽略,如果你不知道,那就接下来看吧。

console.log打印的结果:

Google非常智能地把对象给打印出来了,看结果,很明显地知道:

(1)debugger下面的第一个this是指向外面的Test对象的。因为

init的本质是一个箭头函数,意思是说init里面的this都是指向外面的Test的。箭头函数的本质其实是:

(2)用new的方式初始化一个实例,则其里面的this指的就是它本身

(3)而直接用过this调用myTest的话,相当于直接使用的箭头函数。

 

 

原文地址:https://www.cnblogs.com/Vam8023/p/9115459.html