日期:2014-05-16  浏览次数:20346 次

早起的鸟儿~有虫吃,早起的虫儿~被鸟吃,提个问,输出连续数值是‘怪怪的,why
怎么输入15和19是正常 的,但 输入5 和19 就不能输出,
而用05和19输入就会 05 6 7 8 9 10 11 12 ...
返回
JScript code
<SCRIPT language=JavaScript>
function batchlink()
{
var str = "" ;
  for (i=tt1.value;i<=tt2.value;i++)
  {
   str += i + "<br>";
  }
document.write(str);
document.writeln("<a href='javascript:history.back();'>返回</a>");
}
</Script>
<div>
从
<INPUT TYPE=text VALUE="15" NAME="tt1" SIZE=10 onMouseOver='this.select()'>
到
<INPUT TYPE=text VALUE="19" NAME="tt2" SIZE=10 onMouseOver='this.select()'>
<input type=button value="开始" onClick="batchlink()">
</div>


怎么输出连续的数值?

------解决方案--------------------
换eval

for (i=eval(tt1.value);i<=eval(tt2.value);i++)
------解决方案--------------------
注意文本框里取出来的值都是字符型
因为JS不分类型,所以在输入1 2 3 等的时候用于计算是会被直接认为是整型,而01 02 03则会被认为是字符
如果你输入05而又想无论到哪都被认为整型计算,可强制转换为整型

parseInt(tt1.value)
这样就不会有问题了
不过这样处理过的变量如果用于字符连接时又会出错,必须再转换回字符用
toString()或String()