函数中的this指向

在前端工作中不可避免的要经常使用函数,this指向是函数中很重要的内容。今天文汇文汇软件</a>小编就来为大家分享一下。

一.普通函数   this 指代全局对象

function test(){

    this.x = 1;

    alert(this.x);

  }

  test(); // 1

二.作为对象方法调用,this 指代上级对象


  1. function test(){

  2.   alert(this.x);

  3. }

  4. var o = {};

  5. o.x = 1;

  6. o.m = test;

  7. o.m(); // 1

三.构造函数  this 指代new 出的实例对象

  1. function test(){

  2.     this.x = 1;

  3.   }

  4.   var o = new test();

  5.   alert(o.x); // 1

  6. //运行结果为1。为了表明这时this不是全局对象,我对代码做一些改变:

  7.   var x = 2;

  8.   function test(){

  9.     this.x = 1;

  10.   }

  11.   var o = new test();

  12.   alert(x); //2

四.定时器函数  this指的是window

  1. foo.prototype.bar=function(){

  2. setTimeout(function(){alert(this)},3000);

  3. }

  4. var f=new foo;

  5. f.bar()//[object Window]





关键词:
返回列表

相关文章

相关案例