transition.ease([value[, arguments]])
的文檔似乎使它比較清楚他們試圖說的是什麼。另外,它遵循[]
中具有可選參數的方法的「正常」語法。
在這種情況下,這意味着ease()
是transition
的一種方法。對於ease()
方法:([value[, arguments]])
,表示傳遞任何參數是可選的。那麼,value[, arguments]
旨在表示如果存在參數,則可以可選地存在不受限制數量的附加arguments
。我說「旨在表示」,因爲通常能夠使用橢圓...
表示參數的倍數。因此,通常是:value[, arguments...]
。從進一步查看文檔,很明顯,這是預期的。
(由我的其他格式)解析文檔:
指定過渡easing function。
如果值是一個函數,它被用於緩解當前參數定時值噸,其通常在範圍[0,1]。 (在過渡結束時,噸可以是大於1稍大)
可以傳遞函數作爲參數transition.ease()
。如果這樣做,那麼它將用作確定轉換髮生的函數。
否則,值被假定爲一個串和參數被傳遞給所述d3.ease方法來生成一個緩動函數。默認的緩動功能是「立方式進出」。請注意,無法自定義每個元素或每個屬性的緩動功能;但是,如果使用「線性」緩動功能,則可以使用attrTween或styleTween在插補器內部應用自定義緩動。
如果value
不是函數,則假定您將使用d3.ease()
作爲轉換函數。在這種情況下,所有參數transition.ease()
傳遞給d3.ease()
。 d3.ease()
假設value
(在d3.ease()
中寫爲type
)是一個字符串。 d3.ease(type[, arguments…])
有能力採取額外的可選參數。爲了讓您指定您希望使用d3.ease()
函數的任何其他參數,transition.ease()
也有能力接受這些參數並將它們傳遞給d3.ease()
。
注:縱觀transition.ease()
和d3.ease()
之間的相互作用,我們看到transition.ease([value[, arguments]])
真的應該被寫入與橢圓爲transition.ease([value[, arguments..]])
。如果這不是預期的用途,那麼描述的與d3.ease()
的交互就沒有意義。
如果未指定容易,則返回綁定到過渡的第一個非空元素的緩動函數。
這實際上並不清楚。我期望它包含一個錯誤,即「易用性」應該是「值」。在這種情況下,將讀:
如果值未指定,則返回綁定到過渡的第一個非空元素的緩動函數。
如果這種情況真的發生了什麼意圖是,那麼不指定任何參數transition.ease()
將導致取回的返回值,這勢必會在轉型的第一個非空元素的緩解作用。這將是一個正常的和預期的使用,不會爲這樣的函數提供任何參數。因此,我認爲這個問題很可能是文檔中的錯誤。這可以通過查看源代碼或通過實驗來驗證。
可能的值是可選的,如果提供了值,則參數是可選的。 –
@georg不認爲它是重複的,因爲我提出了一個非常具體的記法[x [,x]],這個重複的問題/答案沒有涉及。下面的Mayken答案涵蓋了這個 – Ryan
我同意,雖然密切相關,但作爲重複鏈接的問題不包括嵌套可選參數的具體情況。對這個問題的最廣泛的答案涵蓋了選項符號。雖然這個問題是該符號的擴展,但很顯然你和其他人並不覺得它是直觀的。一個好主意是將這個問題鏈接到這個問題上,並描述爲什麼/如何「答案不能完全解決你的問題」。畢竟,關於重複問題的文本指出,如果是這種情況,則應該提出另一個問題(例如,這個問題)。 – Makyen