javascript オブジェクトのすべてのメソッド (プライベート、特権、またはパブリック) を内部から取得する方法はありますか? サンプル オブジェクトは次のとおりです。
var Test = function() {
// private methods
function testOne() {}
function testTwo() {}
function testThree() {}
// public methods
function getMethods() {
for (i in this) {
alert(i); // shows getMethods, but not private methods
}
}
return { getMethods : getMethods }
}();
// should return ['testOne', 'testTwo', 'testThree', 'getMethods']
Test.getMethods();
現在の問題は のコードですgetMethods()
。簡略化された例では、パブリック メソッドのみが返され、プライベート メソッドは返されません。
編集:私のテストコードは、私が望んでいることを過度に複雑にしている可能性があります(またはそうでない可能性があります)。以下が与えられます:
function myFunction() {
var test1 = 1;
var test2 = 2;
var test3 = 3;
}
myFunction()
内からどの変数が存在するかを調べる方法はありますかmyFunction()
。擬似コードは次のようになります。
function myFunction() {
var test1 = 1;
var test2 = 2;
var test3 = 3;
alert(current.properties); // would be nice to get ['test1', 'test2', 'test3']
}