JavaScript中对于this的详解

function F(){
function C(){
return this;
}
return C();
}
var o = new F();
请问上面的this值指向的是全局对象还是对象o?

全局对象:window

共勉,希望能帮到大家 http://www.codeyyy.com/javascript/index.html

返回值是object

没任何人调用的this指向的是window 如果有调用 谁调用,this就是谁

你可以看一下这个例子

 var a='我是全局a';
            function F(){
                return this.a;
            }
            var b={};
            b.f=F;
            b.a='我是b里面的a';
            console.log(F());
            console.log(b.f());

代码运行结果:
//我是全局a
//我是b里面的a

其实一切的函数调用底层都是从window里面调用 就像例子里面的F() 我们可以理解成window.F() 所以this 指向window
而b.f() 我们可以理解成window.b.f() 因此里面的this指向的是window.b 实际上就是b