天天看點

JS程式設計建議——68:推薦使用鍊式文法

建議68:推薦使用鍊式文法

使用過jQuery架構的讀者,都會對jQuery簡潔的文法、靈巧的用法贊歎不已,其中一個最大亮點就是jQuery的鍊式文法。在JavaScript中,很多方法沒有傳回值,一些設定或修改對象的某個狀态卻不傳回任何值的方法就是典型的例子。如果讓這些方法傳回this,而不是undefined,那麼就要啟用級聯功能,即所謂的鍊式文法。在一個級聯中,單獨一條語句可以連續調用同一個對象的很多方法。

getElement('box').

在上面代碼中,getElement函數擷取id='box'的DOM元素,然後通過鍊式文法分别調用DOM元素的擴充方法來移動元素、修改尺寸和樣式,以及添加行為。由于每一個擴充方法都傳回參數對象,是以調用傳回的結果可以為下一次調用所用。鍊式文法可以産生具備很強表現力的接口,以産生出試圖一次做很多事情的接口的趨勢。

在下面示例中,分别為String擴充了3個方法:trim、writeln和alert,其中writeln和alert方法傳回值都為this,而trim方法傳回值為修剪後的字元串。這樣使用者就可以利用鍊式文法在一行語句中快速調用這3個方法。

Function.prototype.method = function(name, func) {

};

String.method('trim', function() {

});

String.method('writeln', function() {

String.method('alert', function() {

var str = " abc ";

str.trim().writeln().alert();

繼續閱讀