**今天发现了一个很有趣的问题 **
function foo() {
console.log(this)
console.log( this.a )
}
function doFoo( fn ){
// fn 其实引用的是 foo
fn(); // <-- 调用位置! // 函数内部 this 指向 window
arguments[0](); // 函数内部 this 指向 arguments 伪数组对象
}
var obj = {
a: 2,
foo: foo
}
var a = "oops, global";
doFoo( obj.foo );
函数的调用 跟
()
前的函数名也够关系哦
其实不然 函数中的 this
本来就是指调用函数的上下文对象的引用。所以就会指向 arguments 对象
好了 是不是很简单呢 其实就是这么简单呢