[关闭]
@Secretmm 2017-11-09T05:46:32.000000Z 字数 396 阅读 648

this

js专题


全局对象中的this

全局对象中的this指向它的自身;

eg:

  1. 'use strict'
  2. this.a = 2; //相当于 var a = 2;
  3. console.log(a); //2

函数中的this

  • 如果函数被一个对象所拥有,那么在这个函数被调用的时候,它内部的this指向该对象
  • 如果函数被独立调用,那么它内部的this指向undefined;[在非严格模式中,当this指向underfined时,会被自动指向全局对象]

call,apply改变this指向

eg:

  1. function fn(b, c) {
  2. console.log(this.a + b + c);
  3. };
  4. var obj = {
  5. a: 20
  6. };
  7. fn.call(obj, 4, 5);

结果:

  1. 29

解释:

通过call,我们将fn内部的this绑定为obj
call与applay后面的参数,都是向将要执行的函数传递参数。其中call以一个一个的形式传递,apply以数组的形式传递


添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注