Вот код, который вычисляет 2 10, используя цикл for: Как появился ответ 1024?

var result = 1;
for ( var counter = 0; counter < 10; counter = counter + 1)
result = result * 2;
console . log ( result );
//  1024
-6
Firnas 22 Дек 2015 в 08:55

4 ответа

Лучший ответ

В принципе

1024 = 2 10

(2 * 2 ... 10 раз)

Цикл for повторяется 10 раз, каждый раз результат умножается на 2 (изначально был 1).

Отступ, который вы делаете, дает код

var result = 1;

for ( var counter = 0; counter < 10; counter = counter + 1)
    result = result * 2;

console . log ( result );  // display result in console
2
Ring Ø 22 Дек 2015 в 05:57

Ваш for loop работает только result = result * 2.

Теперь ваше result начальное значение - 1. Затем это выполнит операцию result * 2 10 раз, что даст результат 1024

2
4
8
16
32
64
128
256
512
1024
1
vadi taslim 22 Дек 2015 в 05:58
for (statement 1; statement 2; statement 3) {
    code block to be executed
}

Оператор 1 выполняется перед началом цикла (блока кода).

Оператор 2 определяет условие для запуска цикла (блок кода).

Оператор 3 выполняется каждый раз после выполнения цикла (блока кода).

В вашем случае этот цикл выполняется 10 раз. В своем «операторе 1» вы назначаете счетчик 0. Затем вы определяете условие, которое заключается в том, что цикл for будет работать до тех пор, пока счетчик не станет равным = или> 10 (так, пока условие не будет выполнено). В «заявлении 3» вы просто добавляете единицу к счетчику в конце каждого цикла.

Таким образом, вы умножаете переменную «result» (которой присваивается значение 1) на 2, 10 раз . После этого console.log просто печатает переменную результата.

//2^10 = 1024

Надеюсь, это поможет, вот ссылка на синтаксис цикла: http://www.w3schools.com/js /js_loop_for.asp

1
Allicnam 22 Дек 2015 в 06:10

Поскольку у вас нет блока ({}) вокруг операторов цикла for, в цикле находится только первый оператор (result = result * 2;), поэтому он умножает результат в 2, 10 раза, т.е.

result = 1 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2

И после этого вы выводите этот результат (1024).

1
SWeko 22 Дек 2015 в 05:58