2

今天浏览d3源码看到下面一行:

return delay <= elapsed ? start(elapsed) : d3.timer(start, delay, time), 1;

多年来,我每天都在做 javascript,但以前从未见过。什么嘿?

4

4 回答 4

14

它只是小于或等于。也许三元运算符逗号运算符相结合是什么让你失望?

这相当于:

if (delay < elapsed) start(elapsed);
else if (delay === elapsed) start(elapsed);
else {
  d3.timer(start, delay, time);
}
return 1;
于 2012-12-26T02:41:38.003 回答
2

只是意味着“小于或等于”。

于 2012-12-26T02:41:40.830 回答
1

这意味着在几乎(如果不是全部)语言中,左侧操作数是否小于 等于右侧操作数

于 2012-12-26T02:44:23.473 回答
0

<= 表示小于或等于。

您发布的完整行用简单的英文表示“如果延迟小于经过,则返回开始(经过),否则返回 d3.timer 的值。

于 2012-12-26T02:42:54.487 回答