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

three.js+Vanilla.js开发遇TS报错:onscroll()需添加分号求助

解决TypeScript中onscroll(){处的ts(1005)语法错误

你遇到的ts(1005)错误是因为代码的函数定义不符合TypeScript语法规范,具体问题和修复方案如下:

问题原因

你写的onscroll(){既不是类的成员方法(缺少类的包裹上下文),也不是独立函数(缺少function关键字),TypeScript无法解析这个结构,因此抛出"预期有';'"的错误。

修复方案

根据你的代码使用场景,选择对应的修复方式:

场景1:作为类的成员方法

如果这段代码是某个类的方法,必须把它放在类的内部:

class ScrollHandler {
  // 假设你的lerp和back是类的属性
  lerp = { target: 0 };
  back = false;

  onscroll() {
    window.addEventListener("wheel", (e) => {
      if (e.deltaY > 0) {
        this.lerp.target += 0.01;
        this.back = true;
      } else {
        this.lerp.target -= 0.01;
        this.back = false;
      }
    });
  }
}

场景2:作为全局独立函数

如果这是一个全局函数,必须显式添加function关键字声明:

// 注意:全局函数内的this指向window,如果lerp和back是全局变量,直接使用变量名即可
function onscroll() {
  window.addEventListener("wheel", (e) => {
    if (e.deltaY > 0) {
      lerp.target += 0.01;
      back = true;
    } else {
      lerp.target -= 0.01;
      back = false;
    }
  });
}

额外提示

ts(1005)错误本质是语法解析失败,通常出现在:

  • 函数定义缺少关键字
  • 代码结构嵌套错误(比如方法写在类外面)
  • 标点符号遗漏或误用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:20:41