javascript – 物件導向的寫法風格

找了一下,發現JS的物件導向寫法有這些風格。

風格1我是覺得比較好懂。

// 風格(1)
var $obj = new function (){
    
    //私有
    var val = "陰天";
    
    //公開
    this.key = "天氣";

    this.call = function (){
        return this.key + ":" + val;
    }

}
console.log($obj.call()); //天氣:陰天

風格2雖然少打幾個this;但相對用了多一層{},畫面排版我覺得比較凌亂。

// 風格(2)
var $obj = new function (){

    // 私有
    var val = "陰天";

    // 所有公開都寫在此處
    return {
        key : "天氣",
        call: function (){
            return this.key + ":" + val;
        }
    }
}
console.log($obj.call()); //天氣:陰天

風格3因為使用時還要寫 new 建立實體物件,稍嫌麻煩。這應該是比較傳統的寫法了。

// 風格(3)
function obj(){

    // 私有
    var val = "天氣";

    // 公開
    this.key = "陰天";
    this.call = function (){
        return this.key + ":" + val;
    }
}
$obj = new obj();
console.log($obj.call()); //天氣:陰天

 

發表迴響