Нет надежного способа получить все локальные переменные. Самое близкое, что вы можете получить, это получить источник функции.
Если вы не знаете ссылку на текущую функцию (например, имя), вы должны использовать устаревшую (и запрещенную в ECMAScript 5) argument.callee
.
Получив ссылку на функцию, вы должны получить строку источника либо нестандартным методом toSource()
, либо .toString()
.
После того, как строка получена, вы должны получить все имена переменных, например, используя RegExp. Комбинируя этот метод с циклическим просмотром window
, вы можете получить все локальные переменные функций, которые определены в глобальных областях. Затем eval
(!!!) необходимо использовать для получения ссылки на локальные переменные.
<ч />
Короче говоря, вы не должны пытаться искать метод, который находит все локальные переменные, потому что нет надежного способа достичь этого.