如果变量和函数同名了,必须注意,函数的声明会替换变量声明;不管函数在变量的前面还是后面,赋值总会把前面的声明替换.
<script> var a=12; function abc(){ alert(a); var a=10; } abc(); //局部作用域中有一个变量声明a,导致undefined console.log(a); function a(){ console.log('aaa'); } // var a=1; console.log(a); //如果函数声明和变量声明一样,函数声明会替换变量声明,变量声明无法声明了了 </script>