2016-03-21 64 views
0

我在JS文檔等中遇到過很多次類似arr.fill(value[, start = 0[, end = this.length]])的語法,我自己也不得不去理解它。我的意思是函數參數的拼寫。
無論如何這不是一個大問題,但我想知道更多關於這個語法。我在哪裏可以找到關於JS文檔語法的一些信息?

+0

你能舉一個你看過的地方的例子嗎? –

+0

沒有括號=需要的參數。 – elclanrs

+0

這是一個有點僞代碼,括號中的參數是可選的,此外,顯示可選參數的值。通常文檔有一個「公約」章節解釋語法。 – Teemu

回答

1

文檔的這種風格是基於命令行工具和man頁面中使用的風格,這似乎是基於this standard(繼來自this question的鏈接)。對於API和使用情況文檔而言,這種表示法已經有一段時間了。

括號([,start = 0 ...])表示語法的可選部分,但順序很重要。在你的例子中,如果你想指定一個更新的參數,嵌套的括號表明前面的部分是必需的。

對於MDN文檔,將其與name = value表示法結合使用,以顯示函數中引用的參數。

1
arr.fill(value[, start = 0[, end = this.length]]) 
     ^---^ 
    required argument 
       ^--------------------------------^ 
         optional arguments 

此表示法指定參數的順序,要求和默認值。沒有括號表示參數是必需的。括號表示參數是可選的。等於之後的值是可選參數的默認值。

所以考慮到簽名,您有以下選擇:

arr.fill(value) // start = 0, end = this.length 
arr.fill(value, start) // end = this.length 
arr.fill(value, start, end) 
相關問題