2016-09-29 16 views
1

當您垂直調用其他函數時,我想知道這種類型的編碼的名稱。即:JavaScript垂直執行的名稱

fs.readFileSync('data.txt', 'utf8') 
    .trim() 
    .split('\n') 
    .map(line => line.split('\t')) 
    .reduce((acum, elem) => { 
    acum + parseInt(elem[1]) 
    }, 0) 
+3

它被稱爲_chained calls_。 – vlaz

+0

你是什麼意思「垂直」?這些是鏈式函數調用,只是以垂直對齊的方式編寫的(您也可以將它們寫入一行或以任何其他方式對齊,儘管這種方式可以說是最可讀的選項) – UnholySheep

+0

這不一定是「鏈接的方法「,因爲這裏使用了幾個中間值。 「鏈接電話」似乎是適當的職位。有些人也稱之爲「管道」。 – 4castle

回答

1

它被稱爲方法鏈接。這是一個非常簡潔的方式來組織一個程序。

1

它被稱爲method chaining功能鏈接。維基百科上有一個jQuery example

+0

從這篇文章:「一個方法鏈也被稱爲_train wreck_」:D我認爲這也是一個很棒的描述符(奇怪,似乎更有效的其他語言)。我不知道它是否會從頁面編輯,所以我希望它能夠在某個地方生活。 – vlaz

+0

@vlaz尼斯觀察!但是,大多數人通過在方法調用之間放置換行符來避免這種情況。 –

1

它們不必垂直調用,因爲空白不是重要部分。你所指的是「流利的接口」或只是被稱爲「鏈接」,其中每個方法返回的對象,所以你可以調用另一種方法。

+0

「Fluent Interface」並不是我見過的用來描述JavaScript的東西,但通常是其他OO語言。我認爲原因在於許多函數返回「可鏈接」輸出,所以它並不是特別的例外,而流暢的界面應該將回歸標記爲值得注意。 – vlaz

+0

@vlaz JavaScript在[維基百科頁面](https://en.wikipedia.org/wiki/Fluent_interface#JavaScript)上列出。 – 4castle

+0

@ 4castle然後這是我第一次看到它用來描述JavaScript。也許值得指出的是,FI通常意味着_same_對象被返回,所以鏈中的每個下一個調用都在基礎實例上運行,而大部分時間在JS中,每個調用都只返回_same類型的數據,例如'[[ 1,2,3] .map()。filter()'實際上會生成三個數組,而不是操作同一個數組。也可能爲什麼FI不會突然出現。 – vlaz