考虑以下代码:
<html><head></head>
<body>
<script type="text/javascript">
var outside_scope = "outside scope";
function f1() {
alert(outside_scope) ;
}
f1();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
此代码的输出是警报框显示消息"外部范围".但是,如果我稍微修改代码为:
<html><head></head>
<body>
<script type="text/javascript">
var outside_scope = "outside scope";
function f1() {
alert(outside_scope) ;
var outside_scope = "inside scope";
}
f1();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
警告框显示消息" 未定义 ".如果在两种情况下都显示"未定义",我本可以理解逻辑.但是,这种情况并没有发生.它仅在第二种情况下显示"未定义".为什么是这样?
在此先感谢您的帮助!