this指向(一)

94 阅读1分钟

this默认之指向window

1、全局环境下指向window

 console.log(this);     //window

2、函数独立调用也指向window

 function fn() {      console.log(this);     //window    }    fn();

3、被嵌套的函数独立调用,函数内部的this也指向window

var obj = {      a: 1,      foo: function () {        function test() {          console.log(this);    //window                }        test()      }    }    obj.foo()

4、自执行函数的this指向window

    var a = 10;    function foo() {      (function test() {        console.log(this);    //window            })();    }    var obj = { a: 2, foo: foo }    obj.foo()

5、闭包this默认指向了window

  var a = 0;    var obj = {      a: 2,      foo: function () {        var c = this.a;        return function test() {          console.log(this);     //window                   return c;        }      }    }    obj.foo()    console.log(fn())