не получил l oop в то время как без четкого условия `` `while (y)` `` - PullRequest
0 голосов
/ 26 апреля 2020

Я не понимаю значение этого y внутри, пока l oop:

function gcd_two_numbers(x, y) {
  if ((typeof x !== 'number') || (typeof y !== 'number')) 
    return false;
  x = Math.abs(x);
  y = Math.abs(y);
  while(y) {
    var t = y;
    y = x % y;
    x = t;
  }
  return x;
}

1 Ответ

0 голосов
/ 26 апреля 2020
Циклы

while не требуют исключительно логических значений. while просто проверяет, является ли значение истинным или ложным. Для числовых значений c значение 0 считается ложным и остановит время l oop, тогда как любое другое число будет считаться истинным и будет продолжаться, пока l oop. То же относится и к операторам if. В этом случае while l oop будет работать до тех пор, пока y не станет 0.

...