Javascript变量声明范围

不变乌达拉

为什么c variable条件不能在全球范围内b variable起作用不能在全球范围内起作用?

<script type="text/javascript" language="javascript">
    <!--
        var a = 45;
        function print(){
            var b = 10;
            document.write(a);
        }
        if(a == 45)
        {
            var c = 10;
        }
        print();
        document.write("a is : " + a + "<br />");
        document.write("b is : " + b + "<br />");
        document.write("c is : " + c + "<br />");
    //-->
</script>
拉胡尔·阿罗拉(Rahul Arora)

为什么变量b是局部的

创建函数print()的执行上下文时将始终创建变量b,并且在函数完成后将销毁它。因此它取决于该功能,因此是该功能的局部功能。

为什么变量c是全局的

但是在var c if条件内部的情况下,其执行上下文是在全局级别创建的,并声明了var c当“如果”中的条件变为真时,将为其分配一个值。

您可以阅读吊装了解更多详细信息:https : //developer.mozilla.org/en-US/docs/Glossary/Hoisting

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章