4

関数があるとします:

function() {
  var a = 12;
  var b = 15;
  var c = list_of_all_local_variables
}

JavaScript で現在のスコープ内のすべての変数のリストを取得する方法はありますか? list_of_all_local_variables には {a:12, b:13} のようなもの、または ['a','b'] だけが含まれます。

ありがとう!

4

2 に答える 2

0

参照

function getLocalVarNames (code)
{
    //Find variables declared as var, i.e. local variables in the given code
    var regex =/\bvar\b\s*(?:\s*(\w+)\s*(?:=[^,;]+)?)(?:\s*,\s*(\w+)\s*(?:=[^,;]+)?)*\s*;/g;
    var matches, result = [];
    while (matches = regex.exec(code))
    {
        for (var i = 1; i < matches.length; i++) {
            if (matches[i] != undefined) {
                //filter framework specific variables here
                if (matches[i] != "__ctx")
                    result.push(matches[i]);
            }
        }
    }
    return result;
}
于 2013-09-04T11:28:13.107 に答える