鏈式呼叫出現在一些類庫中,比較典型的就是jquery的鏈式api:
$(':header').map(function()).get().sort()
methodchaining這個術語最早出現於martin fowler大大的博文:
通常,可以在乙個方法內通過返**用上下文進行鏈式呼叫:
var obj=,//方法二
f2:function
(),
//方法三
f3:function
()};
obj.f1().f2().f3();
//3
於是我突然受此啟發:這樣不就可以完成一系列動作了嗎:
var obj=,f2:function
(b),
f3:function
(c)};
obj.f1(1).f2(2).f3(3); //
1 2 3
通過返**用方法的物件,就可以實現鏈式呼叫,這個過程只需要指定一次要呼叫的物件即可,而且能夠實現一系列連續的動作(如上面一連續輸出1 2 3),十分方便。
js實現方法的鏈式呼叫
假如這裡有三個方法 person.unmerried person.process person.married 在jquery中通常的寫法是 person.unmerried process married 而在js中要實現鏈式呼叫,只需在類中的每個方法中通過this關鍵字返回物件例項的引用。fu...
方法呼叫unknown 鏈式呼叫與proxy
鏈式呼叫雖然快樂,可每個方法後面的return this略顯繁瑣與醜陋,括號與引號也未免太多。例如下面這個簡單的logger new logger addlabel warn l4 登入 遊客 error addcontent 失敗 addcontent 密碼不對 end 你可能已經對這樣的封裝習以...
鏈式呼叫方法的實現原理和方法
1.什麼是鏈式呼叫?person person newperson setname fog setage 18 set man setjob software engineer 2.優勢和好處 有以上的 好處顯而易見 量大幅度減少,邏輯集中清晰明了,且易於檢視和修改。3.背後的實現原理 一般而言,我...