<script type="text/javascript">
function sum(a,b){
sum=a+b;
document.write(sum+"<br>");
}
sum(1,2);
sum(2,3);
</script>在函数内部未声明的变量默认当作全局变量。函数内部声明的变量,函数外访问不了
分析一下:函数也可以看做是一个变量,变量名是函数名,即function sum(a,b){...}相当于var sum = function(a,b){...},所以你在执行第一个操作sum(1,2)时,这个函数内部执行了sum = a+b;此时函数变量sum变成数值变量,当然第一次结果正常,但是第二个sum(a,b)执行的不是函数,是一个毫无意义的操作。
函数名和变量名重复了,下面代码改了变量名就可以显示两个结果了。
<script type="text/javascript">
function sum(a,b){
add2=a+b;
document.write(add2+"<br\>");
}
sum(2,3);
sum(3,4);
</script>方法名和变量名一样了
sum没声明,自己动手,哈哈