我想在JavaScript中使用公共静态方法中的私有(静态)方法。我正在研究这个解决方案:
function Calc() {
var DoSmth = function (test) {
return test + 1;
}
}
Calc.Stat = function (x) {
return DoSmth(x);
}
但它不起作用。我该怎么办?
答案 0 :(得分:2)
var Calc = (function() {
var DoSmth = function (test) {
return test + 1;
};
var klass = function() {
};
klass.Stat = function (x) {
return DoSmth(x);
};
return klass;
})();
答案 1 :(得分:0)
您可以使用模块模式执行此操作:
var Calc = (function() {
var run = function() { ... },
stat = function() { return run(); };
return { stat: stat };
}());
Calc.stat();
答案 2 :(得分:0)
在JS中执行私有函数的最简单方法是用另一个函数包装它。我建议这样的事情:
var Calc = (function() {
var DoSmth = function (test) {
return test + 1;
};
var result = function() {
};
result.Stat = function (x) {
return DoSmth(x);
}
return result;
}());