如果JavaScript函数是第一类对象,因此类型为object,为什么会发生以下情况?
function hello(){}
typeof hello -> function
不应该给出
typeof hello -> object
答案 0 :(得分:3)
是的,JavaScript函数是对象。 JavaScript中唯一的基类型是原始值类型:数字,符号,布尔值,空值,未定义以及字符串和对象。
不是原始值类型的所有东西都是对象。 typeof
由于其他原因而被破坏,例如typeof null
是"对象"但是null实际上不是一个对象。
typeof hello
返回函数,因为它可能是确实可以将某些东西称为函数的唯一方法。
答案 1 :(得分:1)
在Javascript中,如果它不是原语,那么它就是一个对象。不幸的是,在使用{时,javascript在数组,函数和null之间的区别不大{1}}运算符,但有一些方法可以使用typeof
以下是一个例子:
Object.prototype.call()

答案 2 :(得分:0)
虽然Javascript函数是对象,但数字,字符串等也是对象.typeof函数可以让你知道对象是Javascript已经知道的特定数据结构,并返回对象,如果它不是#&# 39;知道(但仍然定义/非空)。
此处有更多相关内容:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof