认识es6中的let

1.声明变量

1.let可以声明多个变量

2.变量不可以重复声明

3.let可以防止变量污染

例:



Document



运行之后代码会报错:Uncaught SyntaxError: Identifier 'star' has already been declared(标识符“星号”已经声明)

2.作用域

let声明的变量是一个块级作用域(只限于在代码块里面可以有效读取):

 如上图:

{let girl = '刘亦菲';
}
console.log(girl);

运行之后代码会报错:Uncaught ReferenceError: girl is not defined(未定义)

{var girl = '刘亦菲';
}
console.log(girl);

把 let 变为 var 

运行之后代码输出:刘亦菲

总结:因为 let 是一个块级作用域,它只有在代码块中才可以读到。而 var 不是一个块级作用域,它会往全局的window中添加这个属性

3.不存在变量提升

console.log(song);
let song = '仙剑奇侠传';

 运行之后代码报错:Cannot access 'song' before initialization(在初始化之前无法访问到song)

4.不影响作用域链

{let school = '985';function fn(){console.log(school);}fn();
}

运行之后代码输出:985


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部