美文网首页
JavaScript-变量提升和函数提升

JavaScript-变量提升和函数提升

作者: stevekeol | 来源:发表于2017-01-11 17:03 被阅读17次

    变量提升: 

    只是提升变量的声明,并不会把赋值也提升上来。

    var name ="Outer";

    (function(){

            console.log(" name was "+ name); // Outputs: "name was undefined"

            var name ="Inner";

            console.log("name is "+ name); // Outputs: "name is Inner"

    })();

    函数提升:

    不仅提升函数名,也提升了真正的函数定义;

    但函数定义提升仅仅作用于函数定义,而不是函数表达式。

    a(); // Outputs: "Definition hoisted!"

    b(); // TypeError: undefined is not a function

    function a() {console.log("Definition hoisted!"); }

    var b =function() {console.log("Definition not hoisted!"); };


    彩蛋-结果验证(chrome)

    步骤 :<F12>键,在console中粘贴相应的代码段,回车(见下图)。

    chrome中结果验证

    TIPS:本文只是个人对过去的总结,不保证简洁性、系统性、易懂性。如需交流:zhejiangdaxue2011(微信号)

    相关文章

      网友评论

          本文标题:JavaScript-变量提升和函数提升

          本文链接:https://www.haomeiwen.com/subject/azsrbttx.html