0

jsで非グローバル静的メソッドを宣言するにはどうすればよいですか?

foo.bar = function() {
  function testing{
    console.log("statckoverlow rocks!");
  }
  function testing2{
    console.log("testing2 funtction");
  }
}

テスト関数を呼び出すにはどうすればよいですか?私はJSの初心者です。

手伝ってくれてありがとう。

4

4 に答える 4

3

おそらくオブジェクトが必要です。

foo.bar = {
  testing: function() {
    console.log("statckoverlow rocks!");
  },
  testing2: function() {
    console.log("testing2 funtction");
  }
};

foo.bar.testing()次に、たとえば、を呼び出します。

于 2012-08-10T04:03:31.033 に答える
1

あなたはこのようにすることができます:

foo.bar = (function() {
  var testing = function () {
    console.log("statckoverlow rocks!");
  };
  var testing2 = function () {
    console.log("testing2 funtction");
  };
  return {
    testing: testing,
    testing2: testing2
  };
}());

// call them
foo.bar.testing();
foo.bar.testing2();
于 2012-08-10T04:03:13.247 に答える
1

もしかして:

var foo = {
    bar: {
        testing: function()
        {
            console.log("statckoverlow rocks!");
        },
        testing2: function()
        {
            console.log("testing2 funtction");
        }
    }
};


foo.bar.testing();
foo.bar.testing2();
于 2012-08-10T04:03:37.030 に答える
0
// Constructor
function Foo() {
  var myvar = 'hey'; // private
  this.property = myvar;
  this.method = function() { ... };
}
Foo.prototype = {
  staticMethod: function() {
    console.log( this.property );
  }
}
var foo = new Foo();
foo.staticMethod(); //=> hey
于 2012-08-10T04:04:25.720 に答える