gpt4 book ai didi

javascript - 对在 javascript 中返回函数的函数感到困惑

转载 作者:行者123 更新时间:2023-12-03 17:29:22 26 4
gpt4 key购买 nike

function a(){
function b(){
alert("hi");
}
return b();
}
function c(){
var d = a();
}

c();

当我执行上面的命令时,我收到了“hi”的警报。但如果我按照下面的方式做

function a(){
function b(){
alert("hi");
}
return b();
}
function c(){
var d = a();
d();
}

c();

我希望在 c(); 中看到两个关于赋值和函数调用语句的警告,但我只收到一个警告。我究竟做错了什么?

最佳答案

因为方法 a 没有返回任何东西,因为 a 在 return 语句中调用了 bb 是没有返回任何东西,所以 d 是未定义的,这将导致 d() 抛出错误

演示:Fiddle

function c() {
var d = a();
alert(d)
d();
}

如果您看到 fiddle ,则第二个警报显示未定义为 d 的值

关于javascript - 对在 javascript 中返回函数的函数感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com