javascript中,变量可以直接使用,前面加不加var都行。但本人编程遭遇到一个问题,费了半天劲才明白过来,var这个东西有时候也不可忽略。
在程序中,A函数中循环调用B函数,其中两个函数都用i作为循环变量。
function A()
{
for (i=0;i<100;i++){
B( myojb[i ] );
}
function B()
{
for (i=0;i<90;i++){
....
}
}
结果是死循环。原因是B函数中的i没有使用var定义,结果它的赋值就改变了A函数中i的值,A函数中的i就一直是90了。
解决方法就是B函数中这样写:
for (var i=0;i<90;i++)
前面加上var的意思,变量就是函数内的局部变量了。
在重名的情况下,如果要在函数内部访问全局的变量,用"window.变量名"
注:在vbscript中,dim的作用跟var相同