如何判断一个Javascript类是否已经被声明?

Qua*_*kle 5 javascript

我有一些通过 AJAX 加载的 html 引用的 javascript(即:AJAX 检索 HTML,HTML<script>中有一个引用此 javascript 的标签)

该 javascript 包含类声明,例如:

class CalculatorClass{
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果此脚本加载两次,我会收到错误:redeclaration of let CalculatorClass。由于它不是一个变量,我无法测试它是否是undefined第一个 - 即使这样它也会限制范围。如果尚未声明该类,我该如何声明?

Lon*_*yễn 8

您可以检查一个类是否已经声明使用if (typeof MyClass === 'function')

  • 在此基础上,您可以在 `if` 中全局定义该类: `if(typeof MyClass !==' function'){ window.MyClass = class{}}` (3认同)