函数输出对象中的javascript typeof(this)不是函数类型
javascript代码如下所示:函数输出对象中的javascript typeof(this)不是函数类型,javascript,Javascript,javascript代码如下所示: function aa(){ console.log(typeof(this)) } console.log(typeof(aa)) aa() 运行此代码后,输出为函数和对象 那么为什么代码输出类型不同呢 提前谢谢 在执行已调用但未传递上下文的函数期间,此绑定到浏览器的全局窗口对象 此永远不是函数对象本身,除非通过调用或应用显式传递它 产量 function f(){console.log(typeof this);} f.call(f); 将
function aa(){
console.log(typeof(this))
}
console.log(typeof(aa))
aa()
运行此代码后,输出为函数和对象
那么为什么代码输出类型不同呢
提前谢谢 在执行已调用但未传递上下文的函数期间,
此
绑定到浏览器的全局窗口
对象
此
永远不是函数对象本身,除非通过调用
或应用
显式传递它
产量
function f(){console.log(typeof this);}
f.call(f);
将是
函数
,因为aa
和此
引用不同的值,其中一个值不是函数。如果你想了解这个的工作原理,我建议你阅读。还要注意的是,typeof
不是一个函数,而是一个操作符,所以您应该只写typeof aa
。请看这里,谢谢您的回复,但是在node.js中运行它怎么样?“this”指的是哪一个?谢谢,但我使用node.js运行代码,其中没有窗口。此外,我认为函数也是javascript中的一种类型?