JavaScript中的var、let、const
2017-12-04 本文已影响26人
link_hui
JavaScript中定义变量常量的方法有var、let、const,区别如下:
- var:作用域是函数体内,存在变量提升现象。
- let:ES6增加,作用域是代码块,不存在变量提升现象
比如:for循环定义的变量就建议用let
for (let i = 0; i < results.length; i++) {
......
}
- const:ES6增加,常量定义,不能再修改
const a = {b:'b'};
a = {c:'c'}; //a不能被修改,错误:Uncaught SyntaxError: Invalid or unexpected token
a.b = 'bb'; //这个是可以的,a.b 和 a是不同的变量
变量提升:JS引擎用将所有var声明和function函数声明都提到函数内的最高处。