精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Javascript如何實現繼承?

前言 

我這篇文章會誤人子弟,我把繼承跟構造函數實例化搞混了,汗!要想搞清楚JS的繼承機制,看下大牛寫的文章:http://www.cnblogs.com/dolphinX/p/3307903.html

 

很早以前向大牛要了一份坦克游戲的源代碼,自己懶一直都沒有去看,這幾天突然心血來潮,竟然耐著性子一行一行的看代碼,一個源文件一個源文件的看,我被大師優秀的設計所折服,看著過程中發現一個奇怪的問題,有幾個方法所有對象都有,但是又沒有看到在哪定義了,所以我決定仔細的看這個游戲用到的框架Microsoft Ajax Framework( 可能大牛是搞C#開發的:) ),看到后面發現是通過原型(prototype)繼承的,自認為對JS的原型模式非常了解:),看了這個游戲的代碼之后,發現自己理解的還不夠深,最起碼JS所有對象之間的關系沒有搞清楚>_<。啥是原型模式?怎么實現的呢?JS所有對象間到底是啥關系呢?

 

JS的設計理念

1 一切皆對象!

2 對象間通過原型來實現繼承!

 

原型是啥?

它是函數對象的屬性,所有函數對象都有原型(prototype)屬性,prototype是一個對象,通過構造函數創建對象時,新的對象會繼承構造函數對象的原型(prototype)。

 

JS如何實現繼承呢?

通過原型模式實現繼承,即構造函數的prototype屬性

 

JS對象間的關系

 所有函數對象都會繼承Function對象,Function對象是所有函數對象的祖先

所有構造函數的原型通過Object構造函數創建,然后再填充其它方法與屬性,Object對象是非函數對象的祖先

 

我的疑問

思索了一下JS對象間的關系之后,我產生了一個問題:Function對象是不是所有對象的祖先啊?

 

后記

1 JS對象繼承方式很詭異,不跟其他面向對象的語言一樣

2 JS對象間的關系理解的更深了,是我閱讀大牛源碼的一個收獲,以后多多看開源項目的代碼

 

 

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
10、JS | 給已有的類原型添加屬性和方法
JS 原型的淺談
javascript——prototype與
JS面向對象的程序設計
【推薦】關于JS中的constructor與prototype【轉】
JS繼承
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 荔波县| 阿城市| 凯里市| 永康市| 两当县| 钟祥市| 乐东| 房产| 怀化市| 灵武市| 临江市| 章丘市| 鹤峰县| 紫阳县| 大同县| 五河县| 江陵县| 钟山县| 石渠县| 清原| 安新县| 上虞市| 栾川县| 赤壁市| 四川省| 鲁甸县| 大姚县| 轮台县| 巴楚县| 定安县| 遂宁市| 井研县| 宜黄县| 杭锦旗| 体育| 隆子县| 武胜县| 德清县| 高平市| 民乐县| 鱼台县|