慕村2012223
2018-11-06 17:27
<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没声明,自己动手,哈哈
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题