猿问

当 typeof 在函数上运行时,它返回“函数”作为类型。为什么它不返回“对象”?

Javascript 中的函数是一个对象。


在函数上运行 typeof 时,为什么它返回值“函数”而不是“对象”?


var objLit = {}

console.log(typeof objLit); // "object"


function hello() {

  console.log("hello world");

}

console.log(typeof hello); // "function"


尚方宝剑之说
浏览 147回答 1
1回答

猛跑小猪

因为这就是规范所说的。尽管所有函数都是对象,但在函数上使用typeof时将返回'function'而不是'object'. 见表格:val 结果类型:Object(不实现[[Call]])“object” Object(实现[[Call]])“function”(函数有内部方法 [[Call]];非函数没有。)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答