this指向

1.在JavaScript语言之中,一切皆对象,运行环境也是对象,所以函数都是在某个对象下运行,而this就是函数运行时所在的对象(环境)。

2.存函数的 地址  所属的对象,决定了this的运行环境。

实例:

function foo() {
    console.log(this.a);
}
var obj2 = {
    a: 2,
    fn: foo
};
var obj1 = {
    a: 1,
    o1: obj2
};
obj1.o1.fn(); // 2

解释:foo存放的地址是obj2.fn,因此this的运行环境是obj2中。或者怎么找到foo的?先找obj2

看看下面这个经典小例子,试一下你懂了嘛

   var color = "1";
      var test = {
        color: "2",
        getc: function () {
          var color = "0";
          console.log(this.color);
        }
      };
      var getc = test.getc;
      getc();
      test.getc();
 
posted @ 2021-09-27 17:37  果果1024  阅读(23)  评论(0)    收藏  举报