javascript學習(4)——[基礎回顧]類_1

還是以前的一貫風格,對於這種比較簡單的就直接粘代碼,同時大傢也可以在線留言交流,我會及時回復的,當然,代碼中的註釋也是非常清楚的,相信大傢也能看的非常明白,作為一個苦逼的程序員,還有比看代碼更爽的事情嗎,哈哈~

 

(function(){  
    //在javascript中我們利用function來定義類  
    function Shape(){  
        var x = 1;  
        var y = 2  
    }  
    //然我們如何實例化一個對象呢? 通過new 關鍵字  
    var aShape = new Shape();  
    //在類的內部我們用var 定義的是私有變量 如何才能定義共有變量呢?  
    function Shape2(){  
        this.x = 1;  
        this.y = 2;  
    }  
    var bShape = new Shape2();  
    //測試  
    //alert(bShape.x)  
    //處理定義私有變量外還可以用var定義私有函數  
    //private 函數  
    function Shape3(){  
        var draw = function(){  
            //私有函數  
        }  
        this.draw2 = function(){  
            //外界可以看到的共有函數  
        }  
    }  
    var c = new Shape3();  
    c.draw2();  
    //用javascript模仿OOP編程  
    function Shape4(ax,ay){  
        var x = 0;  
        var y = 0;  
        var init = function(){  
            x = ax;  
            y = ay;  
        }  
        init();  
        this.getX = function(){  
            return x;  
        }  
    }  
    var d = new Shape4(2,4);  
    alert(d.getX());  
    //模仿OOP編程的構造函數,現在我們來寫靜態屬性和靜態方法  
    //JS中靜態方法是作用到類身上的而非是對象  
    function Person(){this.Name = "YUNFENGCHENG"};  
    //靜態變量  
    Person.age = 0;  
    Person.showName = function(obj){  
        alert(obj.Name)  
    }  
    Person.showName(new Person())  
//  Array.each= function(){  
//  }  
    //簡單類定義方法  
    var a = {};  
    var array = [];  
    a["name"] = "USPCAT.COM";  
    alert(a.name)  
})()  

 

 

 

 

/** 
 * Map 
 */  
(function(){  
    function jMap(){  
        //私有變量  
        var arr = {};  
        //增加  
        this.put = function(key,value){  
            arr[key] = value;  
        }  
        //查詢  
        this.get = function(key){  
            if(arr[key]){  
                return arr[key]  
            }else{  
                return null;  
            }  
        }  
        //刪除  
        this.remove = function(key){  
            //delete 是javascript中關鍵字 作用是刪除類中的一些屬性  
            delete arr[key]  
        }  
        //遍歷  
        this.eachMap = function(fn){  
            for(var key in arr){  
                fn(key,arr[key])  
            }  
        }  
    }  
    var country = new jMap();  
    country.put("01","ZG");  
    country.put("02","HG");  
    country.put("03","MG");  
    country.put("04","TG");  
    //alert(country.get("01"))  
    country.remove("01")  
    //alert(country.get("01"))  
      
    country.eachMap(function(key,value){  
        document.write(key+"-->"+value+"<br>");  
    })  
})()  

 

 

發佈留言