gpt4 book ai didi

javascript - 从 d3.random 返回数字

转载 作者:行者123 更新时间:2023-11-30 11:23:36 24 4
gpt4 key购买 nike

我想问一下变量/函数的返回类型。我有一些这样的示例代码:

var randomX = d3.randomNormal(mean, 80),      
randomY = d3.randomNormal(mean, 80),
points = d3.range(1000).map(function() {return [randomX(), randomY()]; });

randomXrandomY 被声明为变量,为什么在 return 行中它们是 randomX()randomY() 带括号?

我是 Javascript 的新手,请在这里帮助我。提前致谢!

最佳答案

只需将特定的 D3 信息添加到评论和已接受的答案(很好地涵盖了问题):d3.randomNormal() 返回一个函数

API很清楚:

Returns a function for generating random numbers with a normal (Gaussian) distribution. (emphasis mine)

如果您检查源代码,您还可以看到这一点:

export default (function sourceRandomNormal(source) {
function randomNormal(mu, sigma) {
//bunch of code here...
};
return randomNormal;//returns the function here!
});

所以,如果你想得到实际的数字,你必须调用它(带括号):

d3.randomNormal([mu][, sigma])()
//parentheses here------------^

让我们证明一下。

首先,不带括号:

var random = d3.randomNormal(10, 1);
console.log(random);
<script src="https://d3js.org/d3.v4.js"></script>

现在加上括号:

var random = d3.randomNormal(10, 1)();
console.log(random);
<script src="https://d3js.org/d3.v4.js"></script>

关于javascript - 从 d3.random 返回数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48898012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com