块级作用域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了块级作用域相关的知识,希望对你有一定的参考价值。

概念:JS中没有块级作用域这一概念,即在块语句中定义的变量,实际上是包含函数中而非语句中创建的:

function outputNumber(count){
	for (var i = 0; i < count.length; i++) {
		alert(i); //1 2 3 4 5
	};
	alert(i); //5
}

 

//在这里i并不是只能在for语句中使用,而且在整个outputNumber()函数体内都能访问;

function outputNumber(){
	(function(){ //这里创建了一个块级作用域
		for (var i = 0; i < count; i++) {
			alert(i);
		}
	})();
	alert(i);//出错了~这里的i已经变成私有变量,外面是无法访问的~
}

以上是关于块级作用域的主要内容,如果未能解决你的问题,请参考以下文章

js 函数作用域, 块级作用域和词法作用域

js没有块级作用域但有函数作用域

ES6 之 let和const块级作用域

0140 JavaScript作用域:概述全局作用域函数作用域块级作用域

ES6的块级作用域

js没有块级作用域