0

JavaScript で public static メソッドから private (static) メソッドを使用したいと考えています。私はこの解決策を調べていました:

function Calc() {
    var DoSmth = function (test) {
        return test + 1;
    }
}

Calc.Stat = function (x) {
    return DoSmth(x);
}

しかし、それはうまくいきません。どうすればそんなことをするのですか?

4

3 に答える 3

2
var Calc = (function() {
    var DoSmth = function (test) {
        return test + 1;
    };

    var klass = function() {

    };

    klass.Stat = function (x) {
        return DoSmth(x);
    };

    return klass;
})();
于 2012-11-19T09:45:15.413 に答える
0

JSでプライベート関数を実行する最も簡単な方法は、別の関数でラップすることです。私はこのようなものを提案します:

var Calc = (function() {
    var DoSmth = function (test) {
        return test + 1;
    };

    var result = function() {

    };

    result.Stat = function (x) {
        return DoSmth(x);
    }

    return result;
}());
于 2012-11-19T09:47:15.050 に答える
0

モジュールパターンを使用してこれを行うことができます。

var Calc = (function() {
  var run = function() { ... },
      stat = function() { return run(); };
  return { stat: stat };
}());

Calc.stat();
于 2012-11-19T09:42:59.803 に答える