gpt4 book ai didi

javascript - javascript参数背后的概念是什么?

转载 作者:行者123 更新时间:2023-11-30 07:34:21 25 4
gpt4 key购买 nike

Let me try to explain my weird confusion

我正在尝试了解 d3.js .我看到很多函数都有一些奇怪的参数(至少对我来说它们看起来很奇怪)。

d3.selectAll("p").style("color", function(d, i) {
return i % 2 ? "#fff" : "#eee";
});
  • d 在这里做什么?为什么没用就通过了?
  • i(以及 value)从哪里传递?

我也在关注Jan's tutorial并 build 了一个fiddle .这也有一些奇怪的函数参数:


.attr("cy", function(d) {
return y(d.y)
})

.delay(function(d, i) {
return i * del(Math.random())
})
  • d(以及 value)从哪里传递?

最佳答案

What is d doing here? Why is it passed when it's of no use?

style 函数将使用一组特定的参数调用回调。回调不需要第一个参数的事实不会改变 style 调用它的方式。所以回调必须接受参数,然后忽略它。

From where i (along with value) is getting passed?

样式 函数。它调用回调,因此它决定回调接收的参数值。

这是一个函数接受和调用回调的示例,这可能有助于澄清问题。看评论:

// Here's our function that accepts a callback, just like
// d3's `style` accepts a callback.
function doSomething(callback) {
// Call the callback with two arguments,
// a random letter and a random number:
var letter = String.fromCharCode(65 + Math.floor(26 * Math.random()));
var number = Math.floor(Math.random() * 100);
callback(letter, number);
}

// Now we call that function, giving it a callback
// that makes use of both of its arguments:
doSomething(function(l, n) {
console.log("First callback: The letter is: " + l);
console.log("First callback: The number is: " + n);
});

// Now we call that function, giving it a callback
// that only uses the second argument:
doSomething(function(l, n) {
console.log("Second callback: The number is: " + n);
});

关于javascript - javascript参数背后的概念是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38633313/

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