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

如何通过数组实现点击按钮切换背景色?现有代码运行异常求指导

代码问题排查与修复
  • 核心错误原因:你使用const关键字声明了变量i,JS中const用于声明不可重新赋值的常量,你在点击事件回调中执行i = i < colors.length ? ++i : 0的重新赋值操作会直接触发报错,打断后续逻辑执行,所以背景色设置不会生效。
  • 修复方法:将const i = 0修改为let i = 0即可,let声明的变量支持重新赋值。
  • 额外优化建议:原逻辑的边界判断存在漏洞,你的colors数组长度为3,合法下标范围是0~2,原判断条件i < colors.length会在i=2时满足条件,执行++i后得到下标3,访问colors[3]会返回undefined,导致背景色设置失效,建议将判断条件调整为i < colors.length - 1。

修复后的完整代码如下:

const colors = ['#ee5253', '#00bce4', '#222f3e']
// 把const改为let声明
let i = 0
const button = document.getElementById('button')

button.addEventListener('click', function() {
  i = i < colors.length - 1 ? ++i : 0
  document.querySelector('body').style.background = colors[i]
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:06:04