2016-05-29 81 views
1

几乎理解多线d3.js例如从任意变量,而函数调用

https://bl.ocks.org/mbostock/3884955

但是,下面的代码脱离了我。

y.domain([ 
    d3.min(cities,function(c){return d3.min(c.values,function(v){return v.temperature;});}), 
    d3.max(cities, function(c){return d3.max(c.values,function(v){return v.temperature;});}) 
]); 

c和v(我理解它们是如何使用的)只是作者决定使用的任意名称?它可能是'a'和'b'?

+1

'c'和'v'是您所在的元素,即数据。所以c是城市,v是city.value。可能命名为C和V代表城市和价值观,然而,它们可以是你想要的任何变量名称 – thatOneGuy

回答

1

正如您现在可能知道的那样,JavaScript函数可以有参数和参数:http://www.w3schools.com/js/js_function_parameters.asp。这些可以有任何(有效的)变量名称。

在你的例子中选择的字母是任意的,并且如果它们是ab,它们也可以工作。正如@thatOneGuy所说,他们可能被选为代表“城市”和“价值观”。

话虽这么说,这不是一个很好的做法(尽管是迈克·博斯托克,又名“男人”):当你写代码,其他人应把重点放在你说什么,而不是浪费时间的理解你好吗?。在D3社区中,我们通常使用字母“d”代表“数据”。其他常见做法是,在排序时使用字母“a”和“b”,并且在使用字母“i”指代索引时。这使得代码在D3社区中统一。

+1

谢谢。我接受了这个答案,因为它有更多我正在寻找的细节。但是,谢谢大家! – user3502374