首页 > Web开发 > 详细

JS变量提升补充

时间:2018-05-27 13:09:59      阅读:206      评论:0      收藏:0      [点我收藏+]
  • 变量提升只对等号左边的进行提升,右边是值不会进行提前声明
  • 不管条件是否成立,判断体当中出现的var、function都会进行变量提升;function声明的变量只能提前声明不能进行定义(前提函数实在判断体中)
  • 代码执行到条件判断的地方
    • 条件不成立;进入不到判断体当中,此时之前声明的变量或者函数依然是undefine
    • 条件成立:进入条件判断体中第一件事情不是代码执行而是把之前变量提升没有进行定义的函数首先定义了(进入到判断体,把函数先定义了)
  • 代码
    console.log(num);//undefine
    console.log(fn);//undefined
    if (1 ==1)
    {
      console.log(num);//undefined
      console.log(fn);//→函数体本身
    
      var num = 12;
      function fn(){
       
      }
      console.log(fn);
      console.log(num);  //→函数体本身
    }
    console.log(fn); //→函数体本身
    

      

  • 重名 会进行重新的声明和定义

JS变量提升补充

原文:https://www.cnblogs.com/endian11/p/9095462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!