学科分类
目录
JavaScript网页编程

分析this指向

在JavaScript中,函数内的this指向通常与以下3种情况有关。

① 构造函数内部的this指向新创建的对象。

② 直接通过函数名调用函数时,this指向的是全局对象window。

③ 如果将函数作为对象的方法调用,this将会指向该对象。

在上述3种情况中,第1种情况前面已经讲过,下面我们来演示第2、3种情况。

 1  function foo() {

 2   return this;

 3  }

 4  var o = {name: 'Jim', func: foo};

 5  console.log(foo() === window); // 对应第2种情况,输出结果:true

 6  console.log(o.func() === o);  // 对应第3种情况,输出结果:true

从上述代码可以看出,对于同一个函数foo(),当直接调用时,this指向window对象,而作为o对象的方法调用时,this指向的是o对象。

点击此处
隐藏目录