变量是程序中最基本的东西,但是对于变量的作用域如果没有一个清楚的认识可能在用的时候就会发生错误。
先看一段代码
var status=true;
var check=function()
{
if( status )
{
alert("abc");
}
}
check();
在执行check函数的时候不会弹出abc。
当然我实际上遇见的情况比这个复杂,但是大体上就是这么一个过程,最近我不断的调试,发现,如果把status房在函数外面定义的时候,就会出现这样的情况,但是如果把status放在函数内定义的时候就不会出现异常。
对于js来说,定义变量,可以是普通的数据类型,可以是函数,可是是对象,可以是json格式的数据,如果不能分清楚变量的作用域,很容易发生我上面的错误。所以,一定要把变量定义在对的位置。