zoukankan      html  css  js  c++  java
  • let var const区别

    var

    1.如果用var声明一个变量在函数内就只在函数内生效,
    如果在函数外就变成了全局生效

    2.如果在声明变量时省略var 的话
    就会变成全局变量,如果全局变量中
    已经有这个变量就会更新这个变量的值这就叫变量提升

    注意:
    1.var声明的变量存在提升,
    2.注意只有变量声明才会提升,对变量赋值并不会提升
    3.如果对没有声明的变量打印控制台会报错 没有声明

    let

    let声明的变量有几个特点

    1.let声明的变量具有块级作用域
    注意:此处可能扩展什么说块级作用域:简单来说就是外层无法获取到内层,即使外层和内层都使用相同变量名,也都各自不影响对方
    2.let不存在变量提升,换一种说法,就是 let 声明存在暂时性死区
    3.在同一个作用域下不能重复声明
    注意::此处可能扩展什么是暂时性死区:
    只要块级作用域内存在let命令,它所声明的变量就“绑定”这个区域,不受外部的影响。

    const

    const 声明方式,除了具有 let 的特点外,还有一个特点, const 的变量,一旦定义后,就不能修改,即 const 声明的为常量。
    但是,并不是说 const 声明的变量其内部内容不可变

    总结
    1.var 声明的变量属于函数作用域,let 和 const 声明的变量属于块级作用域; 2.var 存在变量提升现象,而 let 和 const 没有此类现象; 3.var 变量可以重复声明,而在同一个块级作用域,let 变量不能重新声明,const 变量不能修改。

  • 相关阅读:
    Swing编程之helloworld
    spring boot集成redis缓存
    Redis安装与运行讲解
    使用IDEA创建Spring boot项目,集成mybaits。并进行简单的数据库查询操作
    SQL字符串拼接FOR XML PATH
    Webservice大文件断点续传
    SQL查询库、表,列等的一些操作
    SQL列转行,行转列实现
    写一个发布Windows服务服务的小工具
    使用DocX替代COM组件的实现
  • 原文地址:https://www.cnblogs.com/luckyjiu9/p/13888974.html
Copyright © 2011-2022 走看看