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

JavaScript中forEach循环内字符串比较始终为假无控制台输出如何解决

问题原因

你遍历的occupation是纯字符串数组,每一项遍历得到的occ本身就是字符串值,不存在DOM元素才有的textContent属性:

  • 读取occ.textContent得到的是undefined
  • 后续执行undefined.toLowerCase()会直接抛出类型错误,代码执行中断,自然不会进入后续的判断逻辑,也没有对应日志输出

修复方案

直接用遍历得到的字符串值即可,不需要额外读取textContent:

window.addEventListener('load', function() {
  let occupation = ["urologist", "urologist", "staff", "nurse", "surgeon"]

  occupation.forEach(function(occ) {
    // 直接使用occ本身,它就是字符串值
    let bc = occ.toLowerCase();
    chkfun(bc)
  })

  function chkfun(val) {
    if (val == "urologist") {
      console.log("urologist")
    }
    if (val == "surgeon") {
      console.log("surgeon")
    }
    if (val == "staff") {
      console.log("staff")
    }
    if (val == "nurse") {
      console.log("nurse")
    }
  }
}, false);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:15:00