码迷,mamicode.com
首页 > 其他好文 > 详细

let和var的区别

时间:2018-09-03 13:47:10      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:赋值   log   col   comm   声明   变量   区别   ++   div   

  • 通过var定义的变量,作用域是整个封闭函数,是全域的 。通过let定义的变量,作用域是在块级或是子块中。
  • 但是直接用let声明变量不赋值是会打印undefined,还是初始化了,只是let声明放在赋值之后,let声明会提前但不会初始化
  • let a; alert(a);//值为undefined alert b;//会报错 let b
  • let不允许在相同作用域内,重复声明同一个变量。
  • 只要块级作用域内存在let命令,它所声明的变量就“绑定”这个区域,不再受外部的影响。总之,在代码块内,使用let命令声明变量之前,该变量都是不可用的,尽管代码块外也存在相同全局变量。
  • let : 变量只能声明一次
  • var : 变量可以多次声明
    for(var i=0;i<5;i++){
               setTimeout(function(){
                   console.log("var:" + i);
              })
        }
           // let
        for(let i=0;i<5;i++){
               setTimeout(function(){
                   console.log("let" + i);
              })
        }

     

let和var的区别

标签:赋值   log   col   comm   声明   变量   区别   ++   div   

原文地址:https://www.cnblogs.com/llhWeb/p/9577775.html

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