2014-07-15 57 views
1

大多數人都知道JavaScript中的所有函數實際上都是對象,但爲什麼typeof function() {}返回function而不是object?通過這個邏輯,爲什麼typeof []不返回array什麼是JavaScript函數的正確類型?

這只是一個「標準」,是否遵循或有一個合理的原因?

+2

http://www.ecma-international.org/ecma-262/5.1/#sec-11.4.3 – zerkms

+1

因爲'typeof'很奇怪,不一致(可悲)。 –

回答

3

因爲這就是spec所說的。

typeof僅返回基元類型;所有常規對象報告爲"object"

+1

除了我不會調用基本類型的函數外。 – jfriend00

+1

和'null',其中*是一個基元,但是'typeof'返回''object「'。 –

+1

和主機對象,它們可能會返回任何內容(但不包括* undefined *,* boolean *,* number *或* string *)。 – RobG

相關問題