(精华)2020年6月29日 JavaScript高级篇 ES6(块级作用域)
【摘要】
1. 为什么要有块级作用域?
// 内层的变量会覆盖外层的变量
var a = '全局'
function fn(){
// 预编译 找var a
...
1. 为什么要有块级作用域?
// 内层的变量会覆盖外层的变量
var a = '全局'
function fn(){
// 预编译 找var a
// var a
console.log(a); // undefined
if(false){
var a = '局部'
}
}
fn()
// 复习预编译的东西
// 全局 函数作用 块级作用域(在各自的块干自己的事情 不影响)
var a = '全局';
(function(){
var a = '局部'
console.log(a);
}())
console.log(a)
let a = '全局'
{
let a = '局部'
console.log(a);
}
console.log(a);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
2. 允许作用域的任意嵌套
// 允许作用域的任意嵌套
{
{
let b = '局部'
}
console.log(b); // b is not defined
}
{
{
let b = '局部'
{
console.log(b);
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
3. 注意
if(true){
let x = 1;
} // 不会报错
if(true) let y = 2 // 会报错
// Lexical declaration cannot appear in a single-statement context
- 1
- 2
- 3
- 4
- 5
- 6
文章来源: codeboy.blog.csdn.net,作者:愚公搬代码,版权归原作者所有,如需转载,请联系作者。
原文链接:codeboy.blog.csdn.net/article/details/107029382
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)