You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

setTimeout使用异常:文本提前显示且4秒后变为undefined求助

问题分析与修复方案

你的代码存在两个关键问题,导致了当前的异常表现:

  1. 直接执行myMessage('hi'),这会让字符串立刻显示在页面上
  2. setTimeout(myMessage, 4000)调用时未传递message参数,4秒后执行myMessage时,message会默认取undefined,页面内容因此被替换成undefined

修复后的代码(两种可选方式)

方式一:用匿名函数包裹调用

setTimeout(() => {
  myMessage('hi');
}, 4000);

function myMessage(message){
  const para = document.querySelector('.text');
  para.innerHTML = message;
}

方式二:利用setTimeout的第三个参数传递参数

setTimeout(myMessage, 4000, 'hi');

function myMessage(message){
  const para = document.querySelector('.text');
  para.innerHTML = message;
}

两种方式都能实现4秒后显示'hi'的效果,核心是移除直接调用的myMessage('hi'),同时确保setTimeout触发myMessage时能正确传递字符串参数。

内容的提问来源于stack exchange,提问作者Ashir Nadeem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 07:08:10