сочетание нескольких операторов в цикле - PullRequest
0 голосов
/ 21 мая 2019

Я прочитал, что «Несколько операторов могут быть разделены запятыми. В следующем примере функция inc () используется для увеличения значения счетчика глобальной переменной. Обратите внимание на сочетание двух операторов: i ++, inc (): "

Я не понимаю, как этот код работает, чтобы дать мне 10 в результате

let counter = 0;
function inc() {
  counter++;
}
for (let i = 0; i < 10; i++, inc());
console.log(counter); //the result is 10

Ответы [ 3 ]

1 голос
/ 21 мая 2019

У вас есть функция с именем inc (), и вы вызываете ее только из цикла for (for (пусть i = 0; i <10; i ++, inc ());).В цикле вы вызываете его 10 раз, а затем он напечатает один раз значение счетчика (строка 4). </p>

1 голос
/ 21 мая 2019

так что в основном мы получили переменную со значением ноль и функцию, которая увеличивает эту переменную.затем мы повторяем цикл и до тех пор, пока переменная "i" не будет достаточно увеличена, чтобы стать 10, мы вызываем ту функцию, которая увеличивает счетчик-переменную. Первое время для проверки цикла, если "i" все еще меньше 10 или нет, это не потому, что i=0 поэтому он вызывает функцию, которая увеличивает счетчик до i>=10, и потому что i=0 в начале дает результат счетчика как 10 (если i=1 в начале это даст вам 9 в качестве результата), если он все еще наблюдается, выможет просто увеличить счетчик прямо вперед.я думаю, что это поможет вам

1 голос
/ 21 мая 2019

Это поможет вам понять, что происходит:

let counter = 0;
function inc(i) {
  console.log('incremented i = '+ i + " -- counter (not yet incremented)= " + counter)
  counter++;
}
for (let i = 0; i < 10; i++, inc(i));
console.log('counter incremented = ' + counter); //the result is 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...