console.log(Function instanceof Object);//true
console.log(Object instanceof Function);//true
此代碼是從文章採取:https://github.com/stevekwan/experiments/blob/master/javascript/object-vs-function.html函數是Object的實例,Object是Function的實例?
我想我明白了什麼是原型繼承,以及如何的js對象模型的工作原理,但兩個基本嗯..大概構造之間的循環鏈接(這是功能,這是對象..和所有的對象都是對象構造函數的實例...)函數和對象只是在打擊我的思想。
在面向類的語言中,我可以想象有一些基本的類對象,並且我創建的每個類都自動從它繼承。
對我來說,有時間一致性 - 首先出現類對象,然後我寫的所有其他東西出現在第二等等。我真的不明白兩個構造函數如何神奇地同時出現並且是彼此的實例。
尖尖的,謝謝你的答覆。 「請注意,函數和對象都是引用函數的全局符號,因此這兩個函數都是對象和函數的實例,因爲它們都是從這兩個原型繼承的。」 對象如何可以是它自己的實例? – User15
@ User15符號「對象」是指對象的構造函數。人們通常不會寫'x = new Object()',但是如果你願意,你可以這樣做。所以這個構造函數是一個函數。就像這樣,它是一個對象,就像JavaScript中的其他函數一樣。 **所有**函數都是對象,包括特殊對象類型的全局構造函數。不要掛上它看起來很古怪的樣子 - 記住'typeof'的左邊被評估爲它的基本值,然後檢查類型。不要緊,它被稱爲「對象」。 – Pointy