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

为什么这个调用函数只执行第一个而已啊

<script type="text/javascript">
function sum(a,b){
    sum=a+b;
    document.write(sum+"<br>");
}
sum(1,2);
sum(2,3);
</script>


正在回答

5 回答

在函数内部未声明的变量默认当作全局变量。函数内部声明的变量,函数外访问不了

1 回复 有任何疑惑可以回复我~

分析一下:函数也可以看做是一个变量,变量名是函数名,即function sum(a,b){...}相当于var sum = function(a,b){...},所以你在执行第一个操作sum(1,2)时,这个函数内部执行了sum = a+b;此时函数变量sum变成数值变量,当然第一次结果正常,但是第二个sum(a,b)执行的不是函数,是一个毫无意义的操作。

2 回复 有任何疑惑可以回复我~
函数名和变量名重复了,下面代码改了变量名就可以显示两个结果了。
<script type="text/javascript">
 function sum(a,b){
     add2=a+b;
     document.write(add2+"<br\>");
 }
 sum(2,3);
 sum(3,4);
</script>


2 回复 有任何疑惑可以回复我~

方法名和变量名一样了

1 回复 有任何疑惑可以回复我~

sum没声明,自己动手,哈哈

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这个调用函数只执行第一个而已啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信