如下所示的javascript代码:
function aa(){
console.log(typeof(this))
}
console.log(typeof(aa))
aa()
运行此代码后输出为功能和对象。
那为什么代码输出差异类型?
提前感谢!
答案 0 :(得分:3)
在执行已经调用但未传递上下文的函数期间this
绑定了浏览器的全局window
对象。
this
永远不是函数对象本身,除非您使用call
或apply
明确传递它。
的输出
function f(){console.log(typeof this);}
f.call(f);
将是function
。