Эквивалент каталога Python в Javascript - PullRequest
40 голосов
/ 02 апреля 2011

когда я пишу код Python из интерпретатора, я могу набрать dir(), чтобы получить список имен, определенных в текущей области видимости. Как можно получить такую ​​же информацию программно, когда я разрабатываю код Javascript из браузера с использованием интерактивной консоли, такой как firebug, chrome console и т. Д.?

Ответы [ 6 ]

23 голосов
/ 18 июня 2012

В Object есть метод "keys", например:

Object.keys(object)

Но это только возврат свойств и методов этого объекта.
Чтобы перечислить все свойства и методы объекта, я знаю 2 варианта:
1. метод console.dir (объект) в консоли Firebug для Firefox и метод
2. dir (объект) в инструментах разработки Google Chrome.

13 голосов
/ 29 мая 2011

Это может работать для вас, если вам нужно простое решение:

function dir(object) {
    stuff = [];
    for (s in object) {
        stuff.push(s);
    }
    stuff.sort();
    return stuff;
}
8 голосов
/ 02 апреля 2011

В коде ChatZilla есть пара функций, которые делают именно это, вам нужно будет проверить лицензию должным образом, чтобы посмотреть, сможете ли вы просто извлечь их и использовать везде.

Соответствующие функции можно найти на http://hg.mozilla.org/chatzilla/file/59b46c0bf716/js/lib/utils.js#l136 dumpObject и dumpObjectTree

4 голосов
/ 26 апреля 2012

Консоль инструментов разработчика Google Chrome имеет предопределенный каталог: https://developers.google.com/chrome-developer-tools/docs/console

Firebug имеет console.dir: http://getfirebug.com/logging

2 голосов
/ 02 апреля 2011

Глобальные переменные хранятся в легкодоступном объекте (window), поэтому вы можете легко просматривать и просматривать их. (Используя что-то вроде функций, предложенных Гленджамином)

С другой стороны, я не знаю ни одного способа проверки локальных переменных, определенных в функциях или замыканиях - если это возможно, я бы, по крайней мере, предположил, что это сильно зависит от браузера / консоли.

1 голос
/ 26 октября 2017

хорошо, вы можете видеть, что объект содержит только его собственные свойства: он может работать в любой консоли, а не только в браузере Google Chrome. Найдите img введите описание изображения здесь console.dir (obj);вот ссылка: https://developers.google.com/web/tools/chrome-devtools/console/console-reference

...