JavaScript面向对象for(),while(),if()的作用域

Posted 陈富康

tags:

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

 函数有作用域,那在for(),while(),if()...中呢,是否也有自己的
作田城呢?我们看下面这个例子:

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>作用域</title>
        <script type="text/javascript" >
      for (var i = 0; i < 1; i++){
            var num = 50;
                                  }; 
            document.write(num);
      
      </script>
	</head>
	<body>
	</body>
</html>

运行出来,但是num的值打印不出来。

这是因为:不同于其他编程语言,在 JavaScript 中,并不是所有的花括号表示的范围都是一个词法作用域。

if 语句的块或者 while 语句以及其他循环结构的块并不会创建新的词法作用域。 只有函数语句才会创建新的词法作用域。

以上是关于JavaScript面向对象for(),while(),if()的作用域的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript基础篇

面向对象三

第47篇JavaScriptif while for switch流程控制 JS函数 内置对象

JavaScript -- 循环语句

JavaScript for循环

JavaScript的循环语句