一、前端开发中var\let\const的区别
(1)函数或者对象构造内声明的变量是私有的. 外部无法访问到. 包括原型继承后的对象.
(2)不加var 在函数或者构造内就是赋值, 从函数内往上一层层寻找变量bbb,一直到顶层没有. 就在顶层声明一个
(3)有var声明是局部变量,没有声明是全局变量
二、ES6特性
ES6:ECMAscript 是规模,js是实现
let 与 var 的区别
(1)var 存在变量提升,let不存在变量提升
console.log©
var c=‘c’ //运行结果:undifined
console.log©
let c=‘c’ //运行结果:报错
(2)同一作用域内,var可以重复声明变量,let不能够重复声明变量
var d=‘d’
var d=‘e’
let e=‘e’
let e=‘f’
console.log(d) //运行结果:e
console.log(e) //运行结果:f
let t=1
t=100
console.log(t) //运行结果:100
(3)var 是函数集作用域,let是块级作用域
funtion fn(){
var n=10
if(true){
var n=100
}
console.log(n) //运行结果:100
}
funtion fn(){
let n=10
if(true){
let n=100
}
console.log(n) //运行结果: 10
}