2015-07-27 2 views
1

enter image description hereBasic While loop query - почему «1» зарегистрирован?

Почему это в то время как цикл печати «1» в конце? .. Я только хочу, чтобы он печатал инструкцию console.log. Пила при использовании Codecademy.

for (i = 0; i < 2; i++) { 
    console.log("I understand for loops twice..lol"); 
}; 

var whileUnderstand = 0; 

while(whileUnderstand < 2) { 
    console.log("I understand while loops twice..lol"); 
    whileUnderstand++; 
} 

enter image description here

Этот вопрос не имеет прямого ответа на вопрос, что я просил. Кроме того, он включает только инструкции console.log вместо циклов. В основном, нет ответов, говорящих, что «консоль просто выводит последнее оцениваемое значение оператора». который является ответом, который решил мой вопрос.

+0

@ KushJain где остальная часть вашего кода? – brso05

+0

@ j08691 вставьте его в консоль. – epascarello

+0

Вы запускаете это из консоли браузера? Когда я пытаюсь это сделать с консоли IE, кажется, что он печатает значение оператора '' '' '' '' '' '' '' '' 'до того, Например, когда я запускаю 'var a = 0; a ++; 'он печатает' 0'. –

ответ

7

Это произойдет только при запуске кода в консоли браузера.

Это вызвано этой линией:

whileUnderstand++; 

консоли просто выводит последнего оцененного значения оператора.

enter image description here


Причина только 1 вошедшие и также не 0 является то, что за пределами console.log() вызова, только последнее заявление регистрируется.

Например, если я следующий фрагмент кода только "d" регистрируется:

var a = "a"; 
var b = "b"; 
a = "c"; 
b = "d"; 
+1

вы можете объяснить, почему это только печатает '1', а не' 2', хотя? Кроме того, почему кажется, что напечатал '1' * после *, он напечатал предполагаемый оператор' console.log ('...') 'оба раза? – jmar777

+2

'потому что вы используете 'whileUnderstand ++'. Это постфиксный оператор: он возвращает значение до его увеличения. Попробуйте префикс '++ whileUnderstand', и вы получите 2. – Lends

+1

Почему это происходит только в консоли браузера? – Lavios

0
var whileUnderstand= 0; 

while(whileUnderstand<2) { 
    console.log("I understand while loops twice..lol"); 
    whileUnderstand++; 
} 

Потому что это не увеличивает whileUnderstand, когда его равен 2, если вы хотите напечатать 2, вам нужно сделайте это

var whileUnderstand= 0; 

while(whileUnderstand<3) { 
    console.log("I understand while loops twice..lol"); 
    whileUnderstand++; 
}