问答详情
源自:4-6 反反复复(while循环)

为什么这么写只显示一个值,不显示其他的值呢

		var mychar=prompt("初始值");
		while(mychar<=7)
		{
			document.write(mychar);
			mychar=mychar+1;
		}
	


提问者:司禄德 2016-07-10 19:28

个回答

  • Mozitea
    2016-07-10 19:47:55
    已采纳

    因为通过弹框输入的值是字符串,字符串+数字,结果也是字符串,比如你输入1,输出1,最后的值变成了字符串的11,然后字符串和数字比较,先把字符串转换为数字,也就是说原来的字符串“11”变成了数字11,11>7,所以循环不执行。直接就跳出循环了。如果想要输出的话很多数字的话,把mychar=mychar+1; 这一句改成mychar=parseInt(mychar)+1; 就可以了

  • llo蛋蛋oll
    2016-07-11 09:32:18

    var mychar=prompt("初始值");

    输出mychar

    "7" //mychar为字符串

    mychar <= 7

    true //因为类型转换之后会相等,但是

    mychar + 1

    “71”

    所以只会执行一遍


  • __0___0__
    2016-07-10 21:16:59

    mychar返回的是一个字符串,就像楼上说的,先使用parseInt()函数解析字符串,并返回一个整数,就可以达到楼主想要的结果了