相关疑难解决方法(0)

在构造函数内部分配原型方法* - 为什么不呢?

在风格上,我更喜欢这种结构:

var Filter = function( category, value ){
  this.category = category;
  this.value = value;

  // product is a JSON object
  Filter.prototype.checkProduct = function( product ){
    // run some checks
    return is_match;
  }

};
Run Code Online (Sandbox Code Playgroud)

对于这种结构:

var Filter = function( category, value ){
  this.category = category;
  this.value = value;
};// var Filter = function(){...}

Filter.prototype.checkProduct = function( product ){
  // run some checks
  return is_match;
}
Run Code Online (Sandbox Code Playgroud)

从功能上讲,以这种方式构造我的代码有什么缺点吗?将原型方法添加到构造函数体内的原型对象(即在构造函数的表达式语句关闭之前)会导致意外的范围问题吗?

我之前已经成功使用了第一个结构,但是我想确保自己没有为调试带来麻烦,或者由于编码错误导致开发人员悲痛和恶化.

javascript methods scope prototype

5
推荐指数
1
解决办法
1241
查看次数

静态变量 JavaScript ECMA6

我有一个遵循 ECMA6 标准的 JavaScript 类,我想在其中创建一个静态变量

为此,我阅读了以下文档:

第一个链接演示了如何在 ECMA 6 中的类中创建静态方法,而第二个链接演示如何使用原型和函数来实现在 ECMA6 之前创建静态变量。

这些都不是我想要的。我正在寻找这样的东西:

class AutoMobile {

    constructor(name, license) {
        //class variables (public)
        this.name = name;
        this.license = license;
    }

   //static variable declaration
   static DEFAULT_CAR_NAME = "Bananas-Benz";
}
Run Code Online (Sandbox Code Playgroud)

但是,前面的示例不起作用,因为static关键字仅用于方法。

如何使用 ECMA6 在 JavaScript 的类中创建静态变量?

javascript static-variables ecmascript-6

2
推荐指数
1
解决办法
4684
查看次数