if (a % b == 0 || a + b > 1000){
document.write(a)
} else {
document.write(b)
}
}
<input id="a" type="text" onchange="add()" />+<input id="b" type="text" onchange="add()"/>=<span id="answer"></span>
<script>
function add(){
var A=document.getElementById("a").value
var B=document.getElementById("b").value
var Answer=document.getElementById("answer")
if (!isNaN(A) &&!isNaN(B) &&A!="" &&B!="")
Answer.innerHTML=parseInt(A)+parseInt(B)
else
Answer.innerHTML=""
}
</script>
<script language="javascript"><!--
var a,b,sum=0
a=prompt("第一个数","")
b=prompt("第二个数","")
for(i=ai<=bi++)
{
sum=sum+parseInt(i,10)
}
alert(""+sum+"")
-->
</script>
我详细解释下:
正如你所看到的,我只是修改了sum=sum+i代码,将它改为了sum=sum+parseInt(i,10)
这是因为i不是数字而是字符串,为什么呢,因为a=prompt("第一个数","")中prompt对话框都返回的是字符串,故a是字符串,for(i=ai<=bi++)中,a赋予i,故i是字符串了。字符串进行+运算的时候,它的作用不再是数学上的意义了,而是连接连个字符串,所以它他只显示你输入2个数间的顺序。
了解了这个,再看数字和字符串进行+运算的情况,请记住,任何与字符串进行+运算都将 不是字符串的运算元 隐式转化为字符串再连接连个两个字符串。
结论,只有当数字不和字符串进行+运算时,+的作用才是数学意义上的求和,否则起连接字符串的作用。
推广:1、字符串与任何数据类型的数据执行+运算的将是连接字符串的作用。
2、数值与数值、布尔类型执行+运算,则是求和举个例子:
<script language="javascript">
<!--
var s=true
alert(s+"1")
-->
</script>
是不是2呢,因为true表示1啊。