js声明变量

格式:关键字+空格+变量名

关键字 var(ES5)

  

  我们也可以在声明的时候给变量默认值

  

  而新声明的变量本身就具有默认值,默认值为undefined

  

  

关键字 let(ES6)

  

 

关键字var和关键字let都是用来声明变量的,他们之间还是有很大的区别

  1.var可以重复声明变量,let不能重复声明

  

  2.var有变量提升,let没有变量提升

  

  

    因为var有变量提升,相当于

    

    而let没有变量提升,所以let声明的变量只能在声明之后使用

  3.let的暂时性死区

  因为let没有变量提升,所以let声明的变量只能在声明之后使用,而该变量生命前的区域,就成为该变量的暂时性死区

  4.let的块级作用域

  在ES5中只有函数作用域和全局作用域,没有块级作用域,所以{}限定不了var声明变量的访问范围。

{
    var str = "hello world";
}
console.log(str); // hello world

  在ES6中,let可以让变量拥有自己的作用域,及块级作用域,也就是说let声明的变量只能在当前作用域使用

{
    let str = "hello world";
}
console.log(str); // str is not defined
posted @ 2020-12-18 16:40  调用Function  阅读(327)  评论(0编辑  收藏  举报