函数的作用域
在JavaScript中使用的是函数作用域,变量在声明它们的函数体以及这个函数体嵌套的任意函数体都是有定义的
ES6标准中的作用域
为什么需要块级作用域
全局作用域和函数作用域,没有块级作用域,容易出现下列问题:
1) 变量提升导致内层变量可能会覆盖外层变量
-
var i = 5;
-
function func() {
-
console.log(i);
-
if (true) {
-
var i = 6;
-
}
-
}
-
func(); // undefined
2) 用来计数的循环变量泄露为全局变量
-
for (var i = 0; i < 10; i++) {
-
console.log(i);
-
}
-
console.log(i); // 10
ES6标准中的的块级作用域
‘块级作用域’通过新增命令let和const来实现,将会在以后介绍
原文地址:https://www.cnblogs.com/CWJDD/p/11030901.html
时间: 2024-10-11 11:40:46