这可能非常基础,但我还是有些困惑。如果我在浏览器中运行以下函数:
当我提供数值5时,意外地得到以下一行输出:
如果我使用相同的值,但注释掉第一行并取消注释第二行,我会得到以下(预期的)输出:
为什么会这样呢?显然有原因。提前感谢您的帮助。
function bar(){
var userInput=prompt("Enter a number between 1 and 20");
if(userInput>=1 && userInput<=20){
var x=Number(userInput)+15;
for(var i=0;i<x;i++){
console.log("<br> blah. x=" + x ); //line1
//console.log("<br> blah. x=" + x + " i=" + i ); //line2
}
} else {
console.log("Invalid number; please try again");
}
}
当我提供数值5时,意外地得到以下一行输出:
<br> blah. x=20
如果我使用相同的值,但注释掉第一行并取消注释第二行,我会得到以下(预期的)输出:
<br> blah. x=20 i=0
<br> blah. x=20 i=1
<br> blah. x=20 i=2
<br> blah. x=20 i=3
<br> blah. x=20 i=4
<br> blah. x=20 i=5
<br> blah. x=20 i=6
<br> blah. x=20 i=7
<br> blah. x=20 i=8
<br> blah. x=20 i=9
<br> blah. x=20 i=10
<br> blah. x=20 i=11
<br> blah. x=20 i=12
<br> blah. x=20 i=13
<br> blah. x=20 i=14
<br> blah. x=20 i=15
<br> blah. x=20 i=16
<br> blah. x=20 i=17
<br> blah. x=20 i=18
<br> blah. x=20 i=19
为什么会这样呢?显然有原因。提前感谢您的帮助。