求助! javascript里面的while语句有问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助! javascript里面的while语句有问题相关的知识,希望对你有一定的参考价值。
<input type="text" id="text">
<button onclick="fl()">点击</button>
<p id="p"></p>
<script>
function fl()
var ft=document.getElementById("text").value;
var f=0;
while(ft<230)
ft+=2;
f++;
document.getElementById("p").innerhtml="次数是"+f;
这段代码究竟哪里错了? 为什么我允许后 如果我输入值是1 最后得出是次数是3.
改为
var ft=parseInt(document.getElementById("text").value);
这是因为变量ft从文本框的value属性中获取的是字符串,所以当它和2累加时是按字符串连接来处理的(即1依次变为12、122、1222……),但是,当把它与数字进行比较时(即ft<230)却是按照数值比较来处理的,所以最终的结果为2(因为1222大于230了)。
因此,只要把ft由字符串转为数值,问题就解决了。 参考技术A 你好,
var ft=document.getElementById("text").value;
这样取得的数据默认是字符串型的。那么 ft+=2; 就是字符串的拼接,即ft+=2 为 ft=ft+2=1+2=12;
循环下去就是12222;第三次循环后是1222,比230大,所以是3.
解决方式就是讲ft转换成数字:
ft = parseInt(ft);
最后的代码如下:
function fl()
var ft=document.getElementById("text").value;
ft = parseInt(ft);//转换成整数数字,parseLong(ft)转换成long型。
var f=0;
while(ft<230)
ft += 2;
f++;
document.getElementById("p").innerHTML="次数是"+f;
希望能帮到你。本回答被提问者采纳
JavaScript流程控制语句——循环结构和跳转语句
在现实生活中,经常需要重复且有规律的做一些事。在程序中也经常会出现重复的情况。而在JavaScript中,循环结构有while循环、do-while循环和for循环。
一、while循环语句
语法:
while(条件表达式)
语句或语句块
例:(依次输出30以内的奇数)
<script type="text/javascript">
var num = 1;
while (num <= 30)
document.write(num + " ");
num += 2;//每循环一次加2,等同于num=num+2
</script>
实现样式:
二、do-while循环语句
语法:
do
语句或语句块
while( 条件表达式 );
例:(计算30以内奇数和)
<script type="text/javascript">
var num = 1;
var result;//总和
while (num <= 30)
document.write(num + " ");
num += 2;
result += num;//将奇数相加装进result内
document.write("30以内的奇数和为:" + result);
</script>
实现样式:
三、for循环语句
for( 初始化表达式 ; 循环条件表达式 ; 循环后的操作表达式 )
语句或语句块
例:(计算330以内的偶数和)对于取余的用法详细请见:JavaScript运算符和注释
<script type="text/javascript">
var result = 0;
for (var num = 1; num <= 30; num++)
if (num % 2 == 0)
document.write(num + " ");
result += num;
document.write("偶数和为:" + result);
</script>
实现样式:
四、break语句和continue语句
1.JavaScript跳转语句:break语句和continue语句
break语句用于中断循环
continue语句用于跳过本次循环要执行的剩余语句,然后开始下一次循环
以上是关于求助! javascript里面的while语句有问题的主要内容,如果未能解决你的问题,请参考以下文章