为什么下面的 Javascript 代码中只显示一条警报消息?
var a = 1;
function f() {
var a = 2;
function n() {
alert(a);
}
n();
}
f();
不应该出现 2 条警报消息吗?
最佳答案
不,不应该。您仅运行函数 f()
一次,并且在此期间,您仅运行函数 n()
一次。这意味着您也只运行警报
一次,因此只显示一条警报消息。
它的工作原理基本上是这样的:
- (第 1 行)分配变量
a
- (第 2-8 行)创建函数
f()
- (第 9 行)运行函数
f()
- (第 3 行)分配变量
a
- (第 4-6 行)创建函数
n()
- (第 7 行)运行函数
n()
- (第 5 行)提醒变量
a
的值
- (第 5 行)提醒变量
- (第 3 行)分配变量
- 结束
如您所见,它只运行警报部分一次,而不是两次
关于javascript - 为什么下面的 Javascript 代码中只显示一条警报消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21363355/