11-变量声明提升和预解析

Posted 北漂阿猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11-变量声明提升和预解析相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<script>
    //预解析:js的解析器在页面加载的时候,首先检查页面上的语法错误。把变量声明提升起来。
    //变量值提升变量名,不提升变量值。而用function直接定义的方法是整体提升。
    //1.查看语法错误。
    //2.变量声明提升和函数整体提升(变量声明提升的时候,只提升变量名,不提升变量值)
    //3.函数范围内,照样适用。
    var aaa;
    console.log(aaa);
    aaa = 111;
    fn();

    function fn(bbb){
        //变量声明提升在函数内部照样实用。
        //函数的就近原则。
        var aaa;
        console.log(aaa);
        aaa = 222;
    }

    function fn2(bbb){
        //两个函数中的局部变量不会相互影响。
        console.log(bbb);
    }

</script>

</body>
</html>

  

以上是关于11-变量声明提升和预解析的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript有关作用域和预解析

JS的作用域和预解析

JavaScript——作用域和预解析,深度理解代码执行程序

JS预解析与变量提升

js预解析

作用域和预解析