js中的this解析
一. 三个定律
a.this可以出现在js的任何地方;
b.this的值随时都有可能发生改变;
c.不能手动修改this的值。
即,this是一个对象(在js中一切皆对象),这个对象指向当前代码中的所需要的各种资源。
二.四种情况
this一般出现在函数内部,函数和方法的区别是:方法是对象中的一个属性的属性值,方法存在于对象中。
a.this出现在函数中,一般指向window;
b.this出现在方法中(对象的属性值),则this指向这个对象;
c.在调用函数之前,加new操作符,会自动创建并返回一个对象,而函数内部的this就指向了这个对象。
d.可以通过apply、call去指定函数内部this的指向。