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 变量不能修改。

  • 相关阅读:
    黑马程序员__OC三大特性
    黑马程序员___OC类和对象
    黑马程序员___预处理指令
    黑马程序员___数据类型总结
    黑马程序员__指针
    黑马程序员__C语言__函数__static和extern
    黑马程序员__C语言__流程控制__选择结构
    黑马程序员__C语言__循环结构
    入园随笔
    Fiddler中抓取不到Jmeter模拟的请求包。
  • 原文地址:https://www.cnblogs.com/luckyjiu9/p/13888974.html
Copyright © 2011-2022 走看看