Javascript 靜態類的實現


早些天寫過了類的實現,接着我們看看的靜態類的實現。這東西在Javascript里用得會非常的頻繁,因為針對現在的網頁,多個基於同一個類對象的頁面不多,往往不同塊對象的交互就可以解決問題了,這就需要在JS針對元素定義幾個靜態類就可以完事了,進入正題。
這次我們直接看例子:

/***定義靜態類***/
var Core = {};
Core.StaticClass = (function(){
    var Return = {
        Property: "Test Static Property",    //公有屬性
        Method: function(){    //公有方法
            alert(_Field);    //調用私用字段
            privateMethod();    //調用私用方法
        }
    };    //定義返回的公有對象

    var _Field = "Test Static Field";    //私有字段
    var privateMethod = function(){    //私有方法
        alert(Return.Property);    //調用屬性
    }

    return Return;    //生成公有靜態元素
})();

  

這次,我用的是閉包的方式去實現,其中最重要的一點是reutrn Return; 這里會引伸到值類型與引用類型的概念。在js里,Object就是一個引用類型,在閉包里,我會拋出一個包含有屬性與方法的Object的引用,這樣,也可以說是把這個Object拋向了外部,實現了公開。StaticClass這個變量接住了Return引用。 對於閉包內部的私有字段與方法都是沒有被拋出的,這樣就可以形成一個私有的環境。
很多時候我們都會用這種技巧去對JS進行分塊,讓程序不會那么的混亂。
上面的例子沒這么干過的兄弟們也可以自己去試試。忘了,剛剛那個例子大家可以這么樣去試試。
Core.StaticClass.Method();
Core.StaticClass.Property = “Test2″;
Core.StaticClass.Method();

轉載請注明轉自《Javascript 靜態類的實現


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM