ltl3885 2009-07-06 13:22
浏览 193
已采纳

javascript this的用法

var myObj = {
  myVal : "Hello World",
  func : function() {
     alert(typeof this.myVal);    // 结果为 string
     var self = this;
     function inner() {
       alert(typeof this.myVal);  // 结果为 undefined
       alert(typeof self.myVal);  // 结果为 string
     } 
     inner();
  }
};

myObj.func();

 红色部分的  this指的是什么?

 蓝色部分的  this指的是什么?

 

请详细说明 谢谢

  • 写回答

3条回答 默认 最新

  • 成富 2009-07-06 14:06
    关注

    这个好像是我写的那篇文章里面的例子。。。。,看来我没写清楚。

    红色部分的this指的是myObj,因为你是用的myObj.func()去调用的,this的值就变成.之前的myObj。

    蓝色部分的this指的是全局对象,在浏览器中就是window对象。

    如果你把myObj.func()换成下面的写法:
    [code="js"]
    var f = myObj.func;
    f();
    [/code]
    那么红色和蓝色部分的this就都是指向window对象了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?