国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

介紹一個簡單的Java-Script類框架

2019-11-02 15:16:01
字體:
來源:轉載
供稿:網友

   這篇文章主要介紹了一個簡單的JavaScript類框架,有助于初學者理解JS類的創建與繼承,需要的朋友可以參考下

  在寫work-in-progress JavaScript book一書時,對于javascript繼承體系,我花費了相當的時間,并在該過程中研究了各種不同的模擬經典類繼承的方案。這些技術方案中,我最為推崇的是base2與Prototype的實現。

  從這些方案中,應該能提煉出一個具有其思想內涵的框架,該框架須具有簡單、可重用、易于理解并無依賴等特點,其中簡單性與可用性是重點。以下是使用示例:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 var Person = Class. extend ( { init: function (isDancing ) { this. dancing = isDancing; }, dance: function ( ) { return this. dancing; } } ); var Ninja = Person.extend({ init: function(){ this._super( false ); }, dance: function(){ // Call the inherited version of dance() return this._super(); }, swingSword: function(){ return true; } }); var p = new Person(true); p.dance(); // => true var n = new Ninja(); n.dance(); // => false n.swingSword(); // => true // Should all be true p instanceof Person && p instanceof Class && n instanceof Ninja && n instanceof Person && n instanceof Class

  有幾點需要留意:

  構造函數須簡單(通過init函數來實現),

  新定義的類比須繼承于已有的類,

  所有的‘類'都繼承于始祖類:Class,因此如果要創建一個全新的類,該類必須為Class的子類,

  最具挑戰的一點:父類的被覆寫方法必須能訪問到(通過配置上下文環境)。

  在上面的示例中,你能發現通過this._super()來調用Person父類的init()和dance()方法。

  對結果相當滿意:使類的定義結構化,保持單一繼承,并且能夠調用超類方法。

  簡單的類創建與繼承

  下面為其實現(便于閱讀并有注釋),大概25行左右。歡迎并感謝提出建議。

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 /* Simple JavaScript Inheritance * By John Resig http://ejohn.org/ * M
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家川| 同德县| 丰台区| 雷山县| 海盐县| 汾西县| 珠海市| 广昌县| 剑阁县| 蒙阴县| 姚安县| 达州市| 时尚| 白朗县| 临清市| 通山县| 进贤县| 永川市| 鄂尔多斯市| 始兴县| 汝南县| 东乌珠穆沁旗| 平遥县| 新乐市| 孝感市| 抚顺市| 兴和县| 郑州市| 来安县| 巴彦县| 文水县| 云阳县| 沁源县| 华坪县| 平阴县| 闽清县| 海原县| 会宁县| 枝江市| 江达县| 冀州市|