|
在《理解Javascript_08_函數(shù)對(duì)象》中講解了很多函數(shù)對(duì)象的問(wèn)題,同時(shí)也留下了許多疑問(wèn),今天讓我們來(lái)解答部分問(wèn)題。
注:理論過(guò)于深入,本人不改保證所有的理論都是正確的,但經(jīng)過(guò)多方測(cè)試還未發(fā)現(xiàn)實(shí)際代碼與理論沖突的問(wèn)題。如有錯(cuò)誤,望高人指點(diǎn)!
Function
首先回顧一下函數(shù)對(duì)象的概念,函數(shù)就是對(duì)象,代表函數(shù)的對(duì)象就是函數(shù)對(duì)象。所有的函數(shù)對(duì)象是被Function這個(gè)函數(shù)對(duì)象構(gòu)造出來(lái)的。也就是說(shuō),F(xiàn)unction是最頂層的構(gòu)造器。它構(gòu)造了系統(tǒng)中所有的對(duì)象,包括用戶(hù)自定義對(duì)象,系統(tǒng)內(nèi)置對(duì)象,甚至包括它自已。這也表明Function具有自舉性(自已構(gòu)造自己的能力)。這也間接決定了Function的[[call]]和[[constructor]]邏輯相同。
function Foo() {};var foo = new Foo();//Foo為foo的構(gòu)造函數(shù)alert(foo instanceof Foo); // true//但是Function并不是foo的構(gòu)造函數(shù)alert(foo instanceof Function); // false//Function為Foo的構(gòu)造函數(shù)alert(Foo instanceof Function);//true
it知識(shí)庫(kù):理解Javascript_09_Function與Object,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。