【发布时间】:2012-09-24 18:40:01
【问题描述】:
<html>
<head>
<title></title>
<script type="text/javascript">
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
</script>
</head>
<body>
<script type="text/javascript">
b();
alert(a);
</script>
</body>
</html>
我来自 c 和 java 背景。作用域规则在 java 脚本中是不同的。我想知道为什么这个程序给出输出 1。这个程序是如何工作的。
【问题讨论】:
-
*** 该代码的解释可以在示例代码来自的同一页面上找到 ** adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting 如果有特定问题未涵盖页面,继续在这里提问。
-
@JeremyJStarcher,现在这很有趣;-)
标签: javascript global-variables local-variables scoping