Javascript SyntaxError:意外的标识符“loader”。属性名称“class”后应为“:”

Javascript SyntaxError:意外的标识符“loader”。属性名称“class”后应为“:”,javascript,twitter-bootstrap,Javascript,Twitter Bootstrap,我试图为我的类命名名称空间,但出现以下错误。如何将类添加到对象文本 Helpers = window.Helpers || {}; Helpers.Bootstrap = Helpers.Bootstrap || {}; Helpers.Bootstrap.Spinner = { class loader { constructor(element = '.spinner-border') { this.element = $(this) } sho

我试图为我的类命名名称空间,但出现以下错误。如何将类添加到对象文本

Helpers = window.Helpers || {};
Helpers.Bootstrap = Helpers.Bootstrap || {};

Helpers.Bootstrap.Spinner = {
  class loader {

    constructor(element = '.spinner-border') {
      this.element = $(this)
    }

    show() {
      this.element.css("display", "block");

    }

    hide() {
      this.element.css("display", "none");
    }
  },
  class button {

    constructor(element = '.btn_spinner') {
      this.element  = $(this);
      this.html     = $(this).html();
    }

    show() {
      $(this).prop("disabled", true);
      $(this).html(
        `<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>Loading...`
      );
    }

    hide() {
      this.element.prop("disabled", false);
      this.element.html(this.html);
    }
  }
}

document.addEventListener("DOMContentLoaded", function(event) {   
  const SpinnerBtn = new Helpers.Bootstrap.spinner.button();
});
错误:

SyntaxError:意外的标识符“Loader”。以下应为“:” 属性名为“class”


您正在尝试向没有关键点的对象添加两个字段

Helpers.Bootstrap.Spinner = {
    loader: class loader {...}
    button: class button {...}
}
Helpers.Bootstrap.Spinner是一个对象。这就是第一行的意思

您不能将类定义放在对象内部。解析器认为类是一个属性名,因此应该在它后面加一个冒号

我不知道你想做什么,所以我不能帮你解决这个问题,但不要这样做?类名也应该大写

示例w/语法已修复:

const Helpers=window.Helpers |{}; Helpers.Bootstrap=Helpers.Bootstrap |{}; Helpers.Bootstrap.Spinner={ 加载器:类加载器{}, 按钮:类按钮{}, } document.AddEventListenerDomainContentLoaded,functionevent{ const spinnerBtn=new Helpers.Bootstrap.Spinner.Button; console.logspinnerBtn.constructor.name;
};添加了Loader:和Button:,但得到了TypeError:undefined不是计算“context.createDocumentFragment”的对象,{…}后面是否应该有逗号?Helpers.Bootstrap.spinner.button;在此调用中,spinner和button的大小写应该与您定义的大小写相同!spinner和ButtonI正在尝试为类装入器命名,并为类ButtonAh命名…然后Rami找到了解决方案。我仍然将其大写为Loader:class Loader{…}有助于区分属性名和类名。从技术上讲,您可以完全删除类名,但这对于调试来说很好。请参阅更新。如果能重新打开此问题,将不胜感激。thanks@user2012677您有一些不匹配的大括号。谢谢,Rami有部分解决方案,但您修复了语法错误。希望我能接受bo答案
Helpers.Bootstrap.Spinner = {
    loader: class loader {...}
    button: class button {...}
}
Helpers.Bootstrap.Spinner = {
  class loader {