为了账号安全,请及时绑定邮箱和手机立即绑定

在script标签中可以定义多少个函数,又怎样分别调用这些函数?

在script标签中可以定义多少个函数,又怎样分别调用这些函数?

Wo_o明 2015-10-22 20:33:57
我在之前定义了一个函数,使用for循环,算出1-10的相加的和并输出到文本框中。接着又想使用while循环,算出1-10相加中每一步的和,显示在网页中。但是当我出入第二个函数之后,再运行,不仅第二个函数的触发按钮在点击后没有反映,就连之前能够运行的第一个函数的触发按钮也算不出来值了。这是怎么回事?<style type="text/css"> h1{font-family:隶书;text-align:center} h2{font-family:隶书;text-align:center} p{font-family:宋体;font-size:18px;text-align:center;} </style> </head> <body> <script language="javascript" type="text/javascript"> function a(){     var sum=0;     for(var i=1;i<=10;i++)     {         sum=sum+i;     }     document.getElementById("sum").value=sum;     } function b(){ var i=1;sum=0; while(i<=10) { sum=sum+i; document.write("sum"); } </script> <h1>求1-10的和</h1> <p>1-10的和等于:<input type="text" name="sum" id="sum"/><br /><br /> <input type="button" name="运行" value="运行" onclick="a()"/></p><br /><br /><br /> <h2>1-10相加的分解之每步所得之和</h2> <p><input type="button" name="运行分解" value="运行分解" onclick="b()" /></p> </body> </html>
查看完整描述

2 回答

已采纳
?
慕男婶

TA贡献98条经验 获得超73个赞

你的b函数写错了。。

错在3个地方:

1、函数少写了一个 }。

2、循环是死循环。应该在while内部最后一行 写上 i++ 。

3、你使用document.writ来输出结果的话,是会清空body中所有内容的。并且由于程序执行很块,你也看不到每步的结果。

查看完整回答
1 反对 回复 2015-10-22
  • Wo_o明
    Wo_o明
    那应该怎么更改可以实现计算中每一步所得出来的结果?
  • 慕男婶
    慕男婶
    function b(){ var i = 1,sum = 0,initVal = document.querySelector('h2').innerHTML, timer = setInterval(function(){ if(i === 10){ clearInterval(timer); } sum = sum + i; document.querySelector('h2').innerHTML = initVal+":"+sum; i++ },300) }
  • Wo_o明
    Wo_o明
    没看懂~~
点击展开后面2
?
echo_kinchao

TA贡献600条经验 获得超86个赞

您可以写好 之后 在需要的时候通过函数名调用

查看完整回答
反对 回复 2015-10-23
  • 2 回答
  • 0 关注
  • 4894 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信