用变量进行判断

<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不存在"的提示框呢?谢谢!



手掌心
浏览 475回答 1
1回答

回首忆惘然

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

相关分类

JavaScript