JavaScript局部变量为什么不需要声明,感觉这是个大败笔
函数内的变量, 如果未声明, 且和某个全局变量(内置的或自己定义的)名称相同的话, 实际上是那个全局变量. 话说, 难道每个JavaScript程序员都熟知所有的全局变量? 且熟记自己使用的所有全局变量?
再看这个更变态的代码:
JScript code
function a(){
for(i=0;i<20;i++){
}
}
function b(){
for(i=0;i<3;i++){
a();
}
return i;
}
document.writeln(b());
结果输出是什么? 没错, 是21.
感觉JavaScript就是个一家亲, 合着变量大家一起用, 不分什么函数内部外部的. 可是还不要求必须声明变量, 我想问, 如果对于大型的程序, 有没有程序员敢不声明就使用变量的.
------解决方案--------------------
确实有点不太合理啊 ,哈哈 。
没办法,语法就是这,改变不了。