码迷,mamicode.com
首页 > Web开发 > 详细

JS变量提升补充

时间:2018-05-27 13:37:44      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:进入   pre   func   一件事   ack   function   声明和定义   代码   条件   

  • 变量提升只对等号左边的进行提升,右边是值不会进行提前声明
  • 不管条件是否成立,判断体当中出现的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变量提升补充

标签:进入   pre   func   一件事   ack   function   声明和定义   代码   条件   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!