美文网首页
var-let-const

var-let-const

作者: 我也不知道啊丶 | 来源:发表于2018-12-13 15:49 被阅读0次

a = 1;
var a = 1;

// 上面两种是 ES3,下面两种是 ES6

let a = 1;
const a = 1;

var 变量提升

变量提升

可以看到在不会执行的函数里var了一个a,结果就不会报错。

有些情况下,比如自己封装一个库,只想暴露一个全局变量,那么 必须用函数把这些声明都包起来,如:


虽然 a 此时已经不是全局变量,但是函数fn是一个全局变量,还是不符合只暴露一个全局变量的要求

ES5的方法:

使用立即执行函数
虽然使用立即执行函数可以解决这个问题,但是相对来说很麻烦

ES6的方法:

使用 let 声明变量
可以看到在花括号外面已经找不到a这个变量
用 let 方法声明的变量,在看到花括号以后便不会再向上提升,let的作用域在最近的{}之间 它是块级变量!
临时死区的概念,在 let 之前不允许使用 a

const与var let的区别
const声明的是一个常量,只有一次赋值机会,并且声明的时候必须得赋值

相关文章

  • var-let-const

    a = 1;var a = 1; // 上面两种是 ES3,下面两种是 ES6 let a = 1;const a...

  • var-let-const

    let : 为了方便的使用局部变量 PS : 先声明赋值 再使用 多么正常的语法 //let let 的作用域 在...

  • 第一小节:var-let-const声明变量

    1. var var变量可以重新赋值,重复定义的,并且属于函数作用域,在函数中创建的只能在函数中使用,否则为全局变...

网友评论

      本文标题:var-let-const

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