作者:今生绝恋2702934494 | 来源:互联网 | 2018-06-17 17:07
以人为镜,可知得失,看来这句话是很有道理的。
Demo 1 :
如果是一个全局的function,则this相当于window对象,在function里定义的各种属性或者方法可以在function外部访问到,前提是这个function需要被调用。
代码如下:
Demo 2 :
如果使用new的方式去实例化一个对象,则this不等于window对象,this指向function a的实例
代码如下:
Demo 3 :
使用prototype扩展方法可以使用this获取到源对象的实例,私有字段无法通过原型链获取
代码如下:
Demo 4 :
不管是直接引用function,还是实例化一个function,其返回的闭包函数里的this都是指向window
代码如下:
Demo 5 :
在HTML中使用this,一般代表该元素本身
代码如下:
Click Me
Demo 6 :
在IE和火狐(Chrome)下注册事件,this分别指向window和元素本身
代码如下:
Click Me
以上就是我总结的this在Javascript中的不同应用场景,可能还有其他的情况不一而足,以后发现了会补充进来。