js之作用域

作用域

概述:作用域:可以理解为书写代码的范围。
全局作用域:书写js代码范围最大的是在两个script之间。
局部作用域:函数的作用域即为函数题的作用域

函数体中没有局部变量为什么可以去使用全局的变量?

因为可以沿着作用域链向上查找,老大有,可以将这个变量借来用一下。

面试题

<script type="text/javascript">
   var num=66;

   function con(){
       var num=99;
       console.log(num);
      
   }

   con();
</script>

打印的结果是99.使用变量时候,有就近原则,沿着作用域链查找时,有性能开销。

在js当中任何语句都阻挡不了变量声明部分的提升。

<script type="text/javascript">
    var num=66;

    function con(){
        console.log(num);
        var num=99;
    }

//  编译后
function con(){
        var num;
        console.log(num);
        var num=99;
    }

    con();
</script>

打印的结果就是undefined


<script type="text/javascript">
    var num = 66;

    function con() {
        console.log(num);
        if (false) {
            var num = 99;
        }
    }

    con();
</script>

打印结果为undefined

posted @ 2023-03-08 00:08  King-DA  阅读(15)  评论(0)    收藏  举报