<script type="text/javascript">
var isLogin='0';
if(isLogin=="1")
{...}
</script>这是前台页面中的Javascript代码,出现在<head></head>,用来判断用户是否登录,不登陆在{...}中提示
我对javascript不是很精通,谁能帮忙解释一下为什么
明明刚刚var并且初始化了isLogin='0',下面的isLogin=="1"确实有可能=true而执行{...}内的代码

解决方案 »

  1.   

    {...}内的代码里有没有关于isLogin值的变化?
      

  2.   

    没有
    if(isLogin== "1")
    {
    alert(...);
    window.close()
    }
      

  3.   

    在<head>中的代码首先是全局代码.JS中代码执行的顺序并不是你想的那样, var isLogin = '0';后下一句执行 if() {}isLogin是全局变量, 属于全局对象, 全局对象是在进入任何上下文之前就存在了的对象, 如 window 引用全局对象.变量定义后开始执行语句. isLogin == 1 有可能为TRUE是因为 在 if() {}; 上面有改变isLogin值的语句执行了(像是废话- -)总之就是顺序问题, 如果你给的代码改成
    isLogin='0';
    if(isLogin=="1")
    {...}
    即去掉 var 那结果应该就和你想的一样了, 永远为 false ^^