这个复杂的return语句在javascript中做了什么?

Geo*_*uer 2 javascript

今天浏览d3源代码我看到以下行:

return delay <= elapsed ? start(elapsed) : d3.timer(start, delay, time), 1;
Run Code Online (Sandbox Code Playgroud)

我多年来一直在做日常的javascript,之前从未见过.嘿嘿?

log*_*yth 14

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

这相当于:

if (delay < elapsed) start(elapsed);
else if (delay === elapsed) start(elapsed);
else {
  d3.timer(start, delay, time);
}
return 1;
Run Code Online (Sandbox Code Playgroud)

  • 哇.我发布了这个,进入了淋浴,并立即意识到**当然**我知道什么是大于或等于的意思.非常抱歉.有一张Frieda Khalo和Leon Trotsky一起出去玩的照片我的道歉:http://awesomepeoplehangingouttogether.tumblr.com/image/32307958593 (3认同)