美文网首页
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-变量提升和函数提升

    变量提升: 只是提升变量的声明,并不会把赋值也提升上来。 var name ="Outer";(function(...

  • JS中的提升

    JS中包含两种提升,变量提升和函数提升。 变量提升 变量提升只能是var或者function声明的变量或者函数,l...

  • 引用类型

    变量提升和函数声明提升   函数声明提升就是把函数声明提升到函数声明所在作用域中(或者说一个函数体内)的顶端,变量...

  • 2021-04-02

    变量提升和函数提升以及他们的优先级 1,变量提升:变量提升是指将变量声明提升到它所在的作用域的最开始部分 2,函数...

  • 关于变量提升

    函数提升的优先级要高于变量提升,变量提升到函数声明的后面; 变量提升,但是赋值不提升,函数表达式不提升;

  • let const var

    变量提升 函数会优先于变量提升; 函数提升会把整个函数移到作用域顶部 变量提升智慧把变量的定义移到作用域顶部 wi...

  • 变量提升

    变量提升 Hoisting 变量和函数的声明会在编译时被提升到作用域的顶部 提升的是声明,函数会连带函数体提升 i...

  • 变量提升和函数提升

    摘自《你不知道的JavaScript上卷》KYLE SIMPSON著 变量提升 引擎会在解释 JavaScript...

  • 变量提升和函数提升

    1.变量提升 console.log(a);//undefined var a=123; 因为变量a的声明被提到了...

  • 变量提升和函数提升

    在javascript里存在一种叫变量声明提升的东西。这里来详细的说一说,到底什么样的声明会提升,提升了什么东西。...

网友评论

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

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