javascript – 物件導向的寫法風格
找了一下,發現JS的物件導向寫法有這些風格。
風格1我是覺得比較好懂。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// 風格(1) var $obj = new function (){ //私有 var val = "陰天"; //公開 this.key = "天氣"; this.call = function (){ return this.key + ":" + val; } } console.log($obj.call()); //天氣:陰天 |
風格2雖然少打幾個this;但相對用了多一層{},畫面排版我覺得比較凌亂。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// 風格(2) var $obj = new function (){ // 私有 var val = "陰天"; // 所有公開都寫在此處 return { key : "天氣", call: function (){ return this.key + ":" + val; } } } console.log($obj.call()); //天氣:陰天 |
風格3因為使用時還要寫 new 建立實體物件,稍嫌麻煩。這應該是比較傳統的寫法了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// 風格(3) function obj(){ // 私有 var val = "天氣"; // 公開 this.key = "陰天"; this.call = function (){ return this.key + ":" + val; } } $obj = new obj(); console.log($obj.call()); //天氣:陰天 |