簡體   English   中英

這個循環序列如何流動

[英]how does this loop sequence flows

我遇到了一個 qns,如果它們不相等,它會將兩個數字的中間值相加,我不太明白 while 循環中的語句是如何工作的。

例如 a = 4, b = 0 sum 的最終值應該是 10,因為它是 4+3+2+1+0 = 10

function getSum (a,b)
{
 var sum = 0;

  while (a !== b)
{
  sum += a < b ? a++:b++;
}
 return sum+a
}

我想把它看作

(總和+=a) < b ? a++:b++

或者

總和 += (a < b)? a++:b++

條件是粗體的

(編輯:我知道條件是在?之前和紙)

如果有人可以教/幫助逐步分解循環序列,非常感謝!

由於+=是一個賦值操作,它是最后執行的操作之一。 因此, sum += (a < b)? a++:b++ sum += (a < b)? a++:b++是正確的等價物。

此行等效於:

if (a<b) {
  sum += a++;
}
else {
  sum += b++;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM