我不明白为什么return
代码在指令之后继续运行。即当按下按钮时,函数启动,其中的变量增加1,停止增加,当a
大于5时,函数退出。然而,这并没有就此结束,因为return
某种原因它起作用了console.log
。
let a = 1;
const button = document.querySelector('button');
function func() {
a++;
//console.log(a); //2, 3, 4, 5, 6
if (a > 5) return 5; //прекратилось на 6
func();
console.log(a);
}
button.onclick = func;
<button>Button</button>
同样由于某种原因,此函数不返回值。
let a = 1;
const button = document.querySelector('button');
function func() {
a++;
//console.log(a); //2, 3, 4, 5, 6
if (a > 5) return 5; //прекратилось на 6
func();
console.log(a);
}
button.onclick = func;
console.log(func() + 1); //5 + 1 = 6 -- не выводится
<button>Button</button>
PS虽然不行,return还是会中断函数,否则会出现栈溢出。原来这6个都是函数的出口?
这一切都只是递归。并且 console.log 在父调用中被调用。
遍历这些步骤,您将看到返回后函数将退出内部 func() 并进一步执行指令。
我知道你愿意。只有你忘记了回报。