(1)let定义后不能再定义
(function(){let a ='11'; let a = '22' ;console.log(a)})()
VM662:1 Uncaught SyntaxError: Identifier 'a' has already been declared
(2)let赋值
(function(){let a ='11'; a = '22' ;console.log(a)})()
VM675:1 2
(3)在let声明前无法使用
// ----- 声明前无法使用,会直接报错 -----
(function(){a ='11'; let a = '22' ;console.log(a)})()
VM693:1 Uncaught ReferenceError: Cannot access 'a' before initialization
at <anonymous>:1:15
at <anonymous>:1:52
// ----- 没有let修饰时可以正常 -----
(function(){a ='11'; a = '22' ;console.log(a)})()
VM703:22
(4)let的默认值
(function(){let a ;console.log(a)})()
// ----- 没有let修饰时可以正常 -----
VM731:1 undefined
(5)总结
- 同一个变量不能多次let修饰
- 使用 let 语句声明一个变量,该变量的范围限于声明它的块中。可以在声明变量时为变量赋值,也可以稍后在脚本中给变量赋值。
- 使用 let 声明的变量,在声明前无法使用,否则将会导致错误。
- 如果未在 let 语句中初始化您的变量,则将自动为其分配 JavaScript 值 undefined
网友评论