setTimeout 使文本无法识别

问题描述 投票:0回答:1

我想编写一个接受我的字符串并在 4 秒后显示它的代码

我编写此代码是为了在 4 秒后显示 hi,但相反,它会立即在 4 秒后显示字符串 它变得无法识别。我的代码在这里:

`setTimeout(myMessage, 4000);
function myMessage(message){
const para = document.querySelector('.text');
return para.innerHTML = message;
}
myMessage('hi');`
javascript callback settimeout
1个回答
0
投票

出现此

undefined
值是因为您将
myMessage
设置为
setTimeout
函数的回调,而没有向其传递
message
值。
setTimeout
回调不排除任何参数,因此当您像这样传递函数时:

setTimeout(myFn, 1000);

与这样做是一样的:

setTimeout(() => myFn(undefined), 1000);

要解决此问题,您可以像这样更改 setTimeout 实现:

setTimeout(() => myMessage('another message'), 4000);

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.