课程
/前端开发
/JavaScript
/JavaScript进阶篇
var mychar=prompt("初始值"); while(mychar<=7) { document.write(mychar); mychar=mychar+1; }
2016-07-10
源自:JavaScript进阶篇 4-6
正在回答
因为通过弹框输入的值是字符串,字符串+数字,结果也是字符串,比如你输入1,输出1,最后的值变成了字符串的11,然后字符串和数字比较,先把字符串转换为数字,也就是说原来的字符串“11”变成了数字11,11>7,所以循环不执行。直接就跳出循环了。如果想要输出的话很多数字的话,把mychar=mychar+1; 这一句改成mychar=parseInt(mychar)+1; 就可以了
司禄德 提问者
CharlesLvm 回复 司禄德 提问者
var mychar=prompt("初始值");
输出mychar
"7" //mychar为字符串
mychar <= 7
true //因为类型转换之后会相等,但是
mychar + 1
“71”
所以只会执行一遍
mychar返回的是一个字符串,就像楼上说的,先使用parseInt()函数解析字符串,并返回一个整数,就可以达到楼主想要的结果了
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
3 回答为什么window.innerHeight不显示数值?window.innerWidth能够显示数值??
2 回答为什么后面那几个文本节点的值不显示,只有第一个文本节点的值显示为javascript
2 回答为什么节点值显示为null
6 回答为什么文本框不显示数值
4 回答不是A或者B只要一个是真的,这个jq1的值就是true么,为什么显示的是false呢?