品《設計模式》
第一章 靈活的語言—js
全域性函式——全域性變數——全域性作用域的汙染
白菜0:
function checkname ()
function checkage ()
白菜1:
var checkname = function ()
var checkage = function ()
白菜2:
var checkobj = function () ,
checkname: function ()
} checkobj.checkname();
白菜3:
var checkobj = function () {};
checkobj.checkname = function ()
checkobj.checkage = function ()
checkobj.checkname();
白菜4:
var checkobj = function () ,
checkage: function ()
} }
var a = checkobj();
a.checkname();
白菜5:
var checkobj = function ()
this.checkage = function ()
} var a = new checkobj();
a.checkname();
白菜6:
var checkobj = function () {};
checkobj.prototype.checkname = function ()
checkobj.prototype.checkage = function ()
var a = new checkobj();
a.checkname().checkage();
白菜7:
var checkobj = function () {};
checkobj.prototype = ,
checkage: function ()
} var a = new checkobj();
a.checkname().checkage();
白菜8:
function.prototype.checkage () {};
var a = function () {};
a.checkage();
白菜9:
function.prototype.addmethod = function (name, fn)
var methods = function () {};
或 var methods = new function();
methods.addmethod(『checkname』, function () );
methods.addmethod(『checkage』, function () );
methods.checkname();
methods.checkage();
methods.checkname().checkage();
白菜10:
function.prototype.addmethod = function (name, fn)
var methods = function () {};
methods.addmethod(『checkname』, function () );
methods.addmethod(『checkage』, function (0 )
var a = new methods();
a.checkname().checkage();
設計模式系列之一 工廠模式
定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。抽象產品類 public abstract class product 業務邏輯處理 public abstract void method2 具體產品類public class concreteproduc...
設計模式系列之一 寫在系列前面
網上看到很多部落格寫了 設計模式 系列,很佩服別人把一本書看完,還做了那麼詳細的筆記!最近工作,忙於瑣事,很久沒有靜下心來仔細系統的閱讀一本書了,都是需要什麼,就查閱相關資料。於是乎我也決定寫乙個系列,當作讀書筆記,促進自己學習,希望能堅持下來!看看自己是不是老了,還有沒有這個毅力?本系列以 hea...
設計模式系列(行為型模式)之一 模板方法模式
模板方法模式定義了乙個流程的骨架,由多個方法組成。並允許子類為乙個或多個步驟提供實現。簡而言之就是公共的不變的部分由父類統一實現,變化的部分由子類來個性化實現。優點 提高復用性 提高拓展性 符合開閉原則。缺點 類的數目增加 增加了系統實現的複雜度 父類新增新的抽象方法,所有子類都要改一遍。模板方法模...