讓我試着解釋我奇怪的困惑javascript參數背後的概念是什麼?
我想了解d3.js
。我看到很多帶有一些奇怪參數的函數(它們看起來很奇怪,至少對我來說)。
d3.selectAll("p").style("color", function(d, i) {
return i % 2 ? "#fff" : "#eee";
});
- 什麼是
d
來這裏幹什麼?爲什麼當它沒用時就通過了? - 從哪裏
i
(連同值)正在越過?
我也跟着Jan's tutorial並建了一個fiddle。這也有一定的奇函數PARAMS:
.attr("cy", function(d) {
return y(d.y)
})
.delay(function(d, i) {
return i * del(Math.random())
})
- 從哪裏
d
(與值一起)獲得通過?
'D'爲基準和'i'是數據的索引。由於'i'是第二個參數,即使不使用它,也必須傳遞'd'。在D3中,第一個參數始終是數據,第二個始終是數據的索引,第三個參數是v4中的節點,v3中的父級索引。 –
@GerardoFurtado'datum'?第一次讀這個詞。奧基,我相信你有我的問題。另外我強烈地感覺''d'和'i'不是固定的,我可以使用'e'和'j' - 我是他們僅僅是變量嗎?正確? – xameeramir
要添加到Gerardo的答案(它應該是),你需要'd',因爲'i'是可重用函數定義的第二個參數。你在這個案例中沒有使用'd',但是你可能會再次使用它,所以它總是被傳遞。 –