JavaScript API文档 - functionName([value [,arguments]])表示法是什么意思?

时间:2016-07-22 18:28:45

标签: javascript api d3.js

此问题与:How to read API documentation for newbs?有关。但是,这个问题并没有涵盖我在这里询问的具有嵌套括号的特定格式(例如,data[i] # [1] "sim1_1" head(sim1_1$epi$tx.full.supp[1]) # sim1 # 1 0 # 2 0 # 3 0 # 4 0 # 5 0 # 6 0 head(data[i]$epi$tx.full.supp[1]) # Error in data[i]$epi : $ operator is invalid for atomic vectors )。

虽然,我认为这可能与任何API有关,但我正在查看D3.js API,特别是transition.ease()。我无法弄清楚以下含义:

[value[, args]]

很难找到,因为我不知道谷歌的搜索条件!我只是想知道:

  1. 如何阅读?
  2. 这是一般/正常的表示法吗?
  3. 我知道如何使用D3功能;它只是我感兴趣的符号。

2 个答案:

答案 0 :(得分:3)

transition.ease([value[, arguments]])的文档似乎使他们试图说出的内容相对清晰。此外,它遵循[]中具有可选参数的方法的“常规”语法。

在这种情况下,这意味着ease()transition的方法。对于ease()方法:([value[, arguments]]),表示传递任何参数都是可选的。然后,value[, arguments]旨在表示如果存在value参数,则可以选择性地存在无限制数量的附加arguments。我说“意图是指”,因为通常可以使用椭圆...来表示参数的倍数。因此,通常是:value[, arguments...]。通过进一步查看文档,很明显这就是预期的目的。

解析文档(我的其他格式):

  

指定转换easing function

     

如果 value 是一个函数,它用于简化当前参数时序值 t ,通常在[0,1]范围内。 (在转换结束时, t 可能略大于1.)

您可以将函数作为参数传递给transition.ease()。如果这样做,则将其用作确定转换发生方式的函数。

  

否则,假设 value 是一个字符串,并将参数传递给d3.ease方法以生成缓动函数。默认的缓动功能是“立方输出”。请注意,无法自定义每元素或每个属性的缓动函数;但是,如果使用“线性”缓动功能,则可以使用attrTweenstyleTween在插补器内应用自定义缓动。

如果value不是函数,则假定您将使用d3.ease()作为转换函数。在这种情况下,transition.ease()的所有参数都会传递给d3.ease()d3.ease()假设valuetype写入中称为d3.ease())是一个字符串。 d3.ease(type[, arguments…])能够获取其他可选参数。为了让您指定d3.ease()函数所需的任何其他参数,transition.ease()也可以接受此类参数并将其传递给d3.ease()

注意:查看transition.ease()d3.ease()之间的互动,我们看到transition.ease([value[, arguments]])确实应该用椭圆写为transition.ease([value[, arguments..]])。如果这不是预期用途,那么所描述的与d3.ease()的互动将没有意义。

  

如果未指定 ease ,则返回绑定到转换中第一个非null元素的缓动函数。

这实际上并不清楚。我希望它包含一个错误,“ ease ”应该是“ value ”。在这种情况下,它会读取:

  

如果未指定 value ,则返回绑定到转换中第一个非null元素的缓动函数。

如果这实际上是预期的,那么不指定transition.ease()的任何参数将导致返回值作为返回值,该函数绑定到转换中的第一个非null元素。这将是正常和预期使用不向这样的函数提供任何参数。因此,我认为这个问题很可能是文档中的错误。这可以通过查看源代码或通过实验来验证。

答案 1 :(得分:-1)

这意味着valuearguments是可选的。