JavaScript中this的详解

JavaScript中this的详解

  在了解this之前,我们先来说明一下,构造函数 和 普通函数 的区别:

1. 构造函数的首字母是大写的,这一点是约定俗成的,即使你使用的是小写的字母,也是可以的,但是那样不符合规范;

2. 构造函数在调用的时候使用 new 操作符,普通函数不会使用new操作符的;

  new在执行的时候会做这些事情:

1. 在内存中创建一个object实例对象;

2. 将this指向创建的实例对象;

3. 执行构造函数,给创建的实例对象赋予 属性和方法;

4. 返回这个实例对象;

  那么,接着说明this的问题。在js的函数中this的指向问题,有点让人难以捉摸,在学习的过程中总结如下几点内容:

1. 一般函数中的this,指向的是全局window:为什么会是window呢?,因为一般函数是window对象的方法,所有this指向的是window对象;

2. 构造函数中的this,指向的是由构造函数创建的对象:因为在js中并没有 类 ,所以this指向的只能是由构造函数创建的对象实例);

3. 方法中的this,函数作为一个对象的方法,其中使用的this指向的是该对象;

4. 事件处理函数中的this,this指向是事件源;

猜你喜欢

转载自www.cnblogs.com/david-lcw/p/10348427.html