換句話說,第一個是什麼?一個雞蛋還是一隻母雞?我無法理解JavaScript是如何實現的,因爲我讀了這個:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function#Properties_and_Methods_of_Function。在JavaScript中:如果Object是一個函數,那麼如果一個函數是一個對象的實例,它怎麼會是這樣呢
正如你在控制檯中看到:
>Object instanceof Function
true
>new Function() instanceof Object
true
似乎是一個致命的循環。
爲什麼所有這些:
typeof new Object()
typeof new Array()
typeof new Date()
typeof new RegExp()
typeof new Number()
typeof new Boolean()
typeof new String()
回報 「對象」,但這:
typeof new Function()
返回 「功能」
好像什麼...是Object源自功能? 我不這麼認爲,因爲:
>new Function() instanceof Object
true
>new Object() instanceof Function
false
所以不...
'Object' *是一個也是一個對象的函數,'new'創建一個對象,它可以是一個函數。 – elclanrs 2014-10-28 01:29:48
[爲什麼在JavaScript中,「Object instanceof Function」和「Function instanceof Object」返回true?](http://stackoverflow.com/questions/23622695/why-in-javascript-both-object-instanceoffunction -and-function-instanceof-obj)和[Object and Function相當混亂](http:// stackoverflow。com/questions/2003183/object-and-function-are-quite-confusing) – 2014-10-28 02:26:13
'object'是一個類型; 「對象」是一個函數和對象(所有函數都是對象); 'Object'是一個可以構造'Object'類型的對象的類,它們是Object類的實例。所有其他類都從基類「Object」繼承。所以'new Function()'的實例就是函數,它們是基類爲Object的'Function'類的實例的對象。所以一個函數(或者一個函數類型的對象)既是一個函數又是一個對象。清晰如泥,對吧? – nothingisnecessary 2014-10-28 02:57:38