浅谈JS块级作用域

【前言】

    本文简单说下JS块级作用域相关概念

【主体】

    在ES6之前,我们都是用var来声明变量,而且JS只有函数作用域和全局作用域,没有块级作用域,所以{}限定不了var声明变量的访问范围。

    例如:

{ 
  var i = 9;
} 
console.log(i);  // 9

    ES6新增的let,可以声明块级作用域的变量。

{ 
  let i = 9;     // i变量只在 花括号内有效!!!
} 
console.log(i);  // Uncaught ReferenceError: i is not defined

    案例demo:

                {
			var x = 0;
			const y = 1;
			let z = 2;
		}
		console.log(x);//0
		console.log(y);//报错
		console.log(z);//报错

.

猜你喜欢

转载自blog.csdn.net/qq_42445490/article/details/88819098