Javascript 为什么输出是12313,背后的逻辑是什么?
输出是什么?有人能解释一下结果吗。有人能解释一下函数是如何调用的吗Javascript 为什么输出是12313,背后的逻辑是什么?,javascript,hoisting,Javascript,Hoisting,输出是什么?有人能解释一下结果吗。有人能解释一下函数是如何调用的吗 var x=0; 函数hn(){ x++; 控制台日志(x); 返回(函数hn(){ x+=10; 控制台日志(x); }) } hn(hn())(hn())可以通过添加消息来显示评估顺序 计算hn(“A”),打印“A:1”并返回一个函数(我们称之为F1),该函数将x增加10并显示其值 然后计算hn(F1)。它增加x并打印:“函数hn(msg2){ x+=10 console.log(msg2+“:”+x); }:2“=>此处
var x=0;
函数hn(){
x++;
控制台日志(x);
返回(函数hn(){
x+=10;
控制台日志(x);
})
}
hn(hn())(hn())代码>可以通过添加消息来显示评估顺序
计算hn(“A”)
,打印“A:1”并返回一个函数(我们称之为F1),该函数将x增加10并显示其值
F2(F3)
被计算,它将x增加10,并打印“函数hn(msg2)”{
x+=10
console.log(msg2+“:”+x);
}:13“=>此处的消息是功能F3(有点奇怪,ok)
请注意,没有调用F3,只使用它的字符串表示形式。
它返回一个函数(我们称之为F4),将x增加10并显示其值var x=0;
函数hn(msg){
x++;
console.log(msg+“:”+x);
返回(函数hn(msg2){
x+=10;
console.log(msg2+“:”+x);
})
}
hn(hn(“A”)(hn(“B”))代码>