js中var,const,let的区别
2017-12-25 本文已影响0人
莹莹宋
var,const,let的区别
图1是var,const,let功能对比图,后续会根据变量提升,函数作用域,块级作用域,改变定义的变量结合代码具体说明

const,let——ES6
const与let属于ES6的用法,它们改变之前var的bug,let可以说是完美的var,解决了编程中作用域的问题。所以不建议在ES6的代码中使用var。
var,const,let的区别——变量提升
var有变量提升的概念,const与let(ES6)是没有变量提升的概念的,(什么是变量提升 )如图2所示。

var,const,let的区别——函数作用域
var,const,let都是有函数作用域的(什么作用域),例子如下图3所示。

var,const,let的区别——块级作用域
仅供参考
const与let有块级作用域的概念,var没有