当我在 JS 中声明实例方法时,我经常使用以下语法:
var MyObj = function (p1) {
this.p1 = p1;
};
MyObj.prototype = {
method1: function() {},
method2: function() {},
method2: function() {}
};
是否有类似的方法来声明“静态”方法而不是这样做:
MyObj.static1 = function() {
};
MyObj.static2 = function() {
};
MyObj.static3 = function() {
};
最佳答案
我唯一能想到的就是分两步进行:
var staticMethods = {
static1: function () {
},
static2: function () {
},
static3: function () {
}
};
然后使用这个函数
function registerStaticMethods(aClass, staticMethods) {
for (var methodName in staticMethods) {
aClass[methodName] = staticMethods[methodName];
}
}
你会这样使用它
registerStaticMethods(MyObj, staticMethods);
关于javascript - 以更简洁的方式声明 javascript 静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31960677/