javascript输入两个整数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b

JavaScript014

javascript输入两个整数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b,第1张

function fun(a, b){

    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啊。