为什么inner()
函数被执行2次而不是3次?
谢谢!
<script type="text/javascript">
function outer() {
inner();
function inner() {
document.write("<p style='background-color:lightblue;'>Inner Function");
}
inner();
}
outer();
</script>
答案 0 :(得分:2)
让我们看看我是否可以澄清该代码的含义。我相信你认为函数定义会导致函数被执行。
<script type="text/javascript">
function outer() {
// call #1
inner();
// this is the function definition, it is NOT called here
function inner() {
document.write("<p style='background-color:lightblue;'>Inner Function");
}
// can #2
inner();
}
outer();
</script>
因此,您可以看到代码注释,函数执行两次,因此您的结果是完全可以预期的