司禄德
2016-07-10 19:28
var mychar=prompt("初始值"); while(mychar<=7) { document.write(mychar); mychar=mychar+1; }
因为通过弹框输入的值是字符串,字符串+数字,结果也是字符串,比如你输入1,输出1,最后的值变成了字符串的11,然后字符串和数字比较,先把字符串转换为数字,也就是说原来的字符串“11”变成了数字11,11>7,所以循环不执行。直接就跳出循环了。如果想要输出的话很多数字的话,把mychar=mychar+1; 这一句改成mychar=parseInt(mychar)+1; 就可以了
var mychar=prompt("初始值");
输出mychar
"7" //mychar为字符串
mychar <= 7
true //因为类型转换之后会相等,但是
mychar + 1
“71”
所以只会执行一遍
mychar返回的是一个字符串,就像楼上说的,先使用parseInt()函数解析字符串,并返回一个整数,就可以达到楼主想要的结果了
JavaScript进阶篇
468195 学习 · 21891 问题
相似问题