问答详情
源自:5-4 有参数的函数

为什么两次调用函数,但是只有第一次才调用成功,第二次调用不成功的?

为什么两次调用函数,但是只有第一次才调用成功,第二次调用不成功的?

提问者:Htgs 2014-12-30 15:31

个回答

  • Tracy_
    2014-12-30 20:02:23
    已采纳

       //定义了一个名为sum的函数
       function sum(x,y,z){
          sum = x + y +z; //重新定义了sum
          document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>");
       }
       sum(5,8,3); //执行sum函数,同时sum被重新定义为x+y+z,执行结果显示
       sum(7,1,4); //无法找到sum函数,因为sum被重新定义了。

    解决方案,换个函数名即可。

       function add(x,y,z){
          sum = x + y +z; 
          document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>");
       }
       add(5,8,3); 
       add(7,1,4);


  • 仗剑闯江湖
    2014-12-30 20:00:43

    局部变量sum前没有var,sum()函数执行过后就会产生一个全局变量sum,下次执行sum()函数,就报错number is not a function。还有你把变量跟函数名一样是想干啥?