JavaScript中Object和Function的關(guān)系小結(jié)
更新時(shí)間:2009年09月26日 02:50:48 作者:
JavaScript 中 Object 和 Function 的關(guān)系是微妙的,他們互為對(duì)方的一個(gè)實(shí)例。
Function instanceof Object 和 Object instanceof Function 都是 true
1。我們可以認(rèn)為 Object 是一個(gè)特殊的“類”,而這里的“類”即:Function
于是便可以理解為: Object = Function () {} 或 Object = new Function(); 即:Object 是 Function 的一個(gè)實(shí)例,所以,Object 原型鏈中便包含 Function.prototype,得出: Function.prototype.isPrototypeOf(Object) 為 true
2。同時(shí),js中,所有對(duì)象(不包括js語言外部對(duì)象)都可視為是 Object 的一個(gè)實(shí)例, Function 不例外,F(xiàn)unction.prototype 亦不例外,于是有 Function = new Object(); Function.prototype = new Object(), 于是 Object.prototype.isPrototypeOf(Function) 和 Object.prototype.isPrototypeOf(Function.prototype) 都為 true 了
3。補(bǔ)充:Function 本身也是一個(gè)“類”,然而,所有“類”都是Funciton的實(shí)例,于是 Function instanceof Function; 為true。同時(shí),所有對(duì)象都是 Object 類的實(shí)例,Object 本身也是一個(gè)對(duì)象,所有又有 Object instanceof Object 也為 true。另外,還可以認(rèn)為 Funciton 類型是 Object 類型的一個(gè)“派生類”,class Function 繼承了class Object ,是 class Object 的一個(gè)“子類”。
1。我們可以認(rèn)為 Object 是一個(gè)特殊的“類”,而這里的“類”即:Function
于是便可以理解為: Object = Function () {} 或 Object = new Function(); 即:Object 是 Function 的一個(gè)實(shí)例,所以,Object 原型鏈中便包含 Function.prototype,得出: Function.prototype.isPrototypeOf(Object) 為 true
2。同時(shí),js中,所有對(duì)象(不包括js語言外部對(duì)象)都可視為是 Object 的一個(gè)實(shí)例, Function 不例外,F(xiàn)unction.prototype 亦不例外,于是有 Function = new Object(); Function.prototype = new Object(), 于是 Object.prototype.isPrototypeOf(Function) 和 Object.prototype.isPrototypeOf(Function.prototype) 都為 true 了
3。補(bǔ)充:Function 本身也是一個(gè)“類”,然而,所有“類”都是Funciton的實(shí)例,于是 Function instanceof Function; 為true。同時(shí),所有對(duì)象都是 Object 類的實(shí)例,Object 本身也是一個(gè)對(duì)象,所有又有 Object instanceof Object 也為 true。另外,還可以認(rèn)為 Funciton 類型是 Object 類型的一個(gè)“派生類”,class Function 繼承了class Object ,是 class Object 的一個(gè)“子類”。
您可能感興趣的文章:
相關(guān)文章
JavaScript創(chuàng)建對(duì)象方式總結(jié)【工廠模式、構(gòu)造函數(shù)模式、原型模式等】
這篇文章主要介紹了JavaScript創(chuàng)建對(duì)象方式,結(jié)合實(shí)例形式總結(jié)分析了工廠模式、構(gòu)造函數(shù)模式、原型模式等各種常見的javascript對(duì)象創(chuàng)建方式與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-12-12javascript 面向?qū)ο髮?shí)戰(zhàn)思想分享
萬物皆對(duì)象,所以,任何事物都是有特征(屬性)和動(dòng)作(方法)的,一般拿到一份需求分檔,或者你瀏覽一個(gè)網(wǎng)頁看到一個(gè)畫面的時(shí)候,腦子里就要有提煉出來的屬性和方法的能力,那你才是合格的2017-09-09JSQL 基于客戶端的成績統(tǒng)計(jì)實(shí)現(xiàn)方法
JSQL應(yīng)用案例 基于客戶端的成績統(tǒng)計(jì),下面我把整個(gè)example的代碼貼出來,歡迎拍磚2010-05-05基于JavaScript實(shí)現(xiàn)熔巖燈效果導(dǎo)航菜單
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)熔巖燈效果導(dǎo)航菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01echarts圖形x、y坐標(biāo)文字設(shè)置間隔顯示及相關(guān)問題詳解
最近在做一個(gè)web的數(shù)據(jù)統(tǒng)計(jì)部分用到了Echart,下面這篇文章主要給大家介紹了關(guān)于echarts圖形x、y坐標(biāo)文字設(shè)置間隔顯示及相關(guān)問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08微信小程序自定義tabbar custom-tab-bar 6s出不來解決方案(cover-view不兼容)
這篇文章主要介紹了微信小程序自定義tabbar custom-tab-bar 6s出不來解決方案,cover-view不兼容問題,需要的朋友可以參考下2019-11-11