javascript - 在Javascript中如何检查一个类之前是否加载过?
问题描述
我使用 ajax 加载一个 JS 类
所以这个方法会得到 Car 作为类名并加载它
function loadClass(className ){
$.ajax({
url: className +".js",
dataType: "script",
success: success
});
}
js 可以包含例如
class Car {
constructor(brand) {
this.carname = brand;
}
}
我如何检查类是否已经加载,因为多次运行该函数会导致:
SyntaxError: redeclaration of let Car
解决方案
检查类名是否定义为全局变量。
function loadClass(className) {
if (typeof window[className] == 'undefined') {
$.getScript(className + ".js", success)
}
}
这实际上并没有检查名称是否定义为类,但我认为这并不重要——您可能应该避免重新定义任何全局名称。
推荐阅读
- c++ - 如何指定自定义类符合标准或自定义类型特征
- c++ - 类的取消引用不起作用,并且此错误不断弹出:“std::logic_error what(): M constructor null not valid”
- c++ - ESP32 任务中的 RTC DS3231 在读取温度时导致 ESP 重启
- javascript - 带两个条件的三元运算符
- amazon-web-services - 如何使用 terraform 12 使 S3-lifecycle_rule-Transition 成为可选
- angular - 为 *ngFor 中的每个元素添加背景颜色
- python - 如何使用多线程/多处理代替带有熊猫数据框的 For 循环
- javascript - GraphQL 如何处理解析器的返回值?
- node.js - node.js中如何分隔一行代码
- css - 带有 CSS 的 JavaFX 模糊 HBOX