JS在运行过程中会产生执行上下文环境(context),context记录了包含函数在哪里被调用,作用域scope,this等信息。this就是context的其中一个属性,会在函数的执行过程中使用。this是在运行时候绑定的,它指代的上下文对象取决于函数调用的各种条件。
this提供了一种优雅的方式来隐式的传递一个对象的引用,所以在函数中使用this可以更加方便的复用函数。
1、全局使用 this === window 很少使用
2、函数当中 在全局调用这个fn() this === window
3、在方法当中使用 this === 调用当前这个函数的所在的对象啊
4、构造函数this执向的是 new 创建出来的实例对象啊
5、DOM事件处理函数中的this,指向当前的DOM节点
6、通过 bind,call,apply 操作符来显示的设置 this的指向
bind:绑定函数里面的this,返回新函数,
call,apply:绑定并执行这个函数,前者传参是“,”隔开,后者是数组
7、ES6的箭头函数,箭头函数没有自己的this,父作用域的this
JS在运行过程中会产生执行上下文环境(context),context记录了包含函数在哪里被调用,作用域scope,this等信息。this就是context的其中一个属性,会在函数的执行过程中使用。this是在运行时候绑定的,它指代的上下文对象取决于函数调用的各种条件。
this提供了一种优雅的方式来隐式的传递一个对象的引用,所以在函数中使用this可以更加方便的复用函数。
1、全局使用 this === window 很少使用
2、函数当中 在全局调用这个fn() this === window
3、在方法当中使用 this === 调用当前这个函数的所在的对象啊
4、构造函数this执向的是 new 创建出来的实例对象啊
5、DOM事件处理函数中的this,指向当前的DOM节点
6、通过 bind,call,apply 操作符来显示的设置 this的指向
bind:绑定函数里面的this,返回新函数,
call,apply:绑定并执行这个函数,前者传参是“,”隔开,后者是数组
7、ES6的箭头函数,箭头函数没有自己的this,父作用域的this