如何解决setTimeout 立即执行,而不是在函数调用中传递时间
我有这个代码来测试 setTimeout 函数。执行代码后会立即记录 console.log。知道为什么这个函数在 5 秒后没有被调用吗?这段代码有什么问题?
function formatName(fname,lname){
let fullName = fname+lname;
console.log(fullName);
}
setTimeout(formatName('Jon','Harris'),5000);
EDIT:
I didn't know about the way I need to call setTimeout.
解决方法
setTimeout()
的第一个参数是函数,但在您的代码中,您正在执行该函数。使用箭头函数将其作为函数。
function formatName(fname,lname){
let fullName = fname+lname;
console.log(fullName);
}
setTimeout(() => formatName('Jon','Harris'),5000);
您可以通过以下格式传递参数:
setTimeout(formatName,5000,fname,lname);
function formatName(fname,lname){
let fullName = fname + ' ' + lname;
console.log(fullName);
}
setTimeout(formatName,'Jon','Harris');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。