2019-03-18 |

let 关键字

ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。

let 声明的变量只在 let 命令所在的代码块内有效。

可以把let看成var,只是它定义的变量被限定在了特定范围内才能使用,而离开这个范围则无效。

for (let i=0;i<2;i++){
	console.log(i);   // 输出: 0,1
}
console.log(i);
// 输出:undefined,严格模式下会报错

代码块内有效

let 是在代码块内有效,var 是在全局范围内有效:

{
  let a = 0;
  var b = 1;
}
a  // ReferenceError: a is not defined
b  // 1

不能重复声明

let 只能声明一次 var 可以声明多次:

let a = 1;
var b = 3;
let a = 2; 
// Identifier 'a' has already been declared
// 报错:'a'已经被声明过了
var b = 4;

不存在变量提升

let 不存在变量提升,var 会变量提升:


console.log(a);  
// ReferenceError: a is not defined
// 报错 a没有被定义
let a = "apple"; 

console.log(b);  
//undefined 
var b = "banana";
变量 b 用 var 声明存在变量提升,所以当脚本开始运行的时候,b 已经存在了,但是还没有赋值,所以会输出 undefined。
变量 a 用 let 声明不存在变量提升,在声明变量 a 之前,a 不存在,所以会报错。

0

java教程
php教程
php+mysql教程
ThinkPHP教程
MySQL
C语言
css
javascript
Django教程

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论