【发布时间】:2019-01-28 04:38:40
【问题描述】:
我正在阅读“你不懂 JS”系列丛书,发现被一段简单的代码弄糊涂了。在下面的代码中,我试过了,什么都不会打印出来。即使函数 bar 中有“foo()”,也不会调用 foo。谁能帮我理解为什么在 bar 期间不会调用另一个 foo() ?
编译代码时,“foo()”行发生了什么?提前致谢。
function foo() {
console.log( "5" );
}
function bar() {
var a = 3;
foo();
}
【问题讨论】:
-
您的代码是否在任何地方调用函数
bar()?您发布的代码中没有这样的调用。如果你不打电话给bar(),那么什么都不会发生。 -
bar() 不会在其他任何地方调用。调用只能在全局范围内发生? foo() 可以在 bar() 中调用吗?
-
是的
foo()在“bar”函数内很好。只需将bar();放在末尾即可。
标签: javascript function compilation invoke