Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数输出对象中的javascript typeof(this)不是函数类型_Javascript - Fatal编程技术网

函数输出对象中的javascript typeof(this)不是函数类型

函数输出对象中的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); 将

javascript代码如下所示:

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中的一种类型?