JavaScript无需类声明即可运行?带类声明时alert不触发问题求解
核心问题原因
你遇到的问题是代码存在语法错误,JS 引擎校验不通过直接终止了整个脚本的执行。
具体错误点
- ES6 类的语法规范明确要求:类的构造方法必须使用固定的
constructor作为方法名,不允许为构造方法额外指定自定义名称。你代码中写的constructor MyClass()属于非法写法,JS 引擎在预解析阶段就会抛出SyntaxError语法错误。 - JS 引擎在执行脚本前会先对整个脚本块做语法校验,只要存在语法错误,整个脚本的所有代码都不会执行,这就是为什么你移除类声明部分后 alert 可以正常弹出:删除了语法错误点,校验通过后代码才会正常运行。
修正后的代码示例
class MyClass { constructor() { let x = 0; } } alert("hi");
内容的提问来源于stack exchange,提问作者webdunce
相关产品推荐
相关产品推荐

