var、let

作者: darkTi | 来源:发表于2020-06-11 15:46 被阅读0次

一、区别

  1. var声明的变量
    ①没有块的概念,可以跨块访问,但不能跨函数访问;
    ②作用域在该语句所在的函数内,且存在变量提升现象;
    (啥?你问我啥是块?像for、if等这些创建的{},都属于块作用域)
function bar(){
  {
    var a = 1
  }
  console.log(a)
}
bar()  //  1

function bar(){
  {
    let a = 1
  }
  console.log(a)
}
bar()  //  ReferenceError: a is not defined
for(i = 1; i < 5; i++){
       console.log(i);//1 2 3 4
 }
 console.log(i);//5

for(let j = 1; j < 5; j++){
        console.log(j);//1 2 3 4
 }
console.log(j);//ReferenceError: j is not defined  因为j只在for那个块里定义了
  1. let声明的变量
    ①只能在块作用域里访问,不可以跨块访问,更不能跨函数访问;
    ②作用域在该语句所在的代码块中,且不存在变量提升现象;
    ③let在相同的作用域下,不允许重复声明变量;
    ④存在暂时性死区,在变量声明之前是不能使用的,否则会报错;
  2. ①const用来定义常量,使用时必须初始化(即必须赋值,不赋值就会报错);
    ②和let一样只能在块作用域里访问,而且不能修改;
    ③const声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用,而且也是不能重复声明;
    但是!!!
    image.png

相关文章

  • Swift基础语法

    let 和 var let 标识常量var 表示变量 swift :自动推导,var/let的类型是由“=” ...

  • 第二章 let 和 const 命令

    // let 与 var /* 一 */ { let a =12; var b =10; } //...

  • var、let

    一、区别 var声明的变量①没有块的概念,可以跨块访问,但不能跨函数访问;②作用域在该语句所在的函数内,且存在变量...

  • 关于ES6的let命令

    1、let的基本用法以及let和var的区别 (1) let与var一样是用来声明变量的,与var的区别是let所...

  • ES6之let/const/var

    let与var let声明的变量有严格局部作用域,var会越域 let只能声明一次变量,var可以多次声明 let...

  • es6中的let和const(变量和常量)

    let和constlet变量和var一样const是常量 let和var的区别 上面的代码let会报 错,var不...

  • swift

    用let来声明常量 let radiuds = 10; 用var来声明变量 var age = 20 var x ...

  • ES6_var、let与const

    var,let 与 const var 申明变量。 let 申明变量,更完美的 var。 const 申明常量(物...

  • Android菜鸟学习js笔记 一

    一、var,const,let区别? var 变量,const 常量,let块级变量。

  • 2019-07-25

    1.let var区别 var,let 作用域在该代码块中。let 不存在变量提升,var 存在变量提升。cons...

网友评论

      本文标题:var、let

      本文链接:https://www.haomeiwen.com/subject/vtuzbqtx.html