在风格上,我更喜欢这种结构:
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)
从功能上讲,以这种方式构造我的代码有什么缺点吗?将原型方法添加到构造函数体内的原型对象(即在构造函数的表达式语句关闭之前)会导致意外的范围问题吗?
我之前已经成功使用了第一个结构,但是我想确保自己没有为调试带来麻烦,或者由于编码错误导致开发人员悲痛和恶化.
我有一个遵循 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 的类中创建静态变量?