为什么两次调用函数,但是只有第一次才调用成功,第二次调用不成功的?
//定义了一个名为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);
局部变量sum前没有var,sum()函数执行过后就会产生一个全局变量sum,下次执行sum()函数,就报错number is not a function。还有你把变量跟函数名一样是想干啥?