为了账号安全,请及时绑定邮箱和手机立即绑定

用变量进行判断

用变量进行判断

手掌心 2018-11-07 13:14:38
<button id="loginbtn">QQ登陆</button>    <script type="text/javascript">        var div=8;          var createLoginLayer=(function(){            var div;            return function(){                if(!div){                   alert("div不存在");                }                //return div;             }        })();        document.getElementById("loginbtn").onclick=function(){            createLoginLayer();         }    </script>       各位上午好,在if语句中要判断div是否存在,根据作用域的查找规则,如果在局部函数中没有该变量,查询就会向上进行,而在全局变量中已经有了var div=8;为啥还会返回"div不存在"的提示框呢?谢谢!
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

重新声明了div,没有赋值,相当于现在div为undefined。
题主所谓的"根据作用域的查找规则,如果在局部函数中没有该变量,查询就会向上进行",这里if判断时,已经找到了div(值为undefined),所以不会再往上查找。

查看完整回答
反对 回复 2018-12-05
  • 1 回答
  • 0 关注
  • 459 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信