标题:帮忙看下一下 alert的结果为undefined
只看楼主
熊士武
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2022-3-8
结帖率:0
已结贴  问题点数:20 回复次数:1 
帮忙看下一下 alert的结果为undefined
function f2(name) {
return ('Hello ' + name);
}

function f1(callback) {
var name = prompt('请输入你的名字。');
window.setTimeout(function () {
var data= callback(name);
return data;
},5000)
}
var result=f1(f2);
alert(result);
搜索更多相关主题的帖子: function alert undefined var name 
2022-03-08 08:57
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:20 
想实现啥效果呢
立即弹窗,把settimeout去掉,改为return  callback(name);
5秒后弹窗,把alert那句放到return data的位置。

简单来说window.setTimeout可以理解为另开了一个线程,在运行到alert的时候,window.setTimeout的匿名函数还没有执行,return data;也只是从匿名函数中返回,并不是f1的返回值。
2022-03-08 15:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508489-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.562138 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved