web-dev-qa-db-ja.com

JavascriptでのPythonのディレクトリに相当

インタープリターからPythonコードを書くとき、dir()と入力して、現在のスコープで定義されている名前のリストを作成できます。プログラムで同じ情報を取得するにはどうすればよいですか。 firebug、chrome consoleなどのようなインタラクティブコンソールを使用してブラウザからJavascriptコードを開発するとき?

46
Paolo

ChatZillaのコードには、これを実行する関数がいくつかあります。ライセンスを適切にチェックして、それらを取り除いてどこでも使用できるかどうかを確認する必要があります。

関連する関数は http://hg.mozilla.org/chatzilla/file/59b46c0bf716/js/lib/utils.js#l136dumpObjectおよびdumpObjectTree

8
Glenjamin

Objectには、次のような「keys」メソッドがあります。

Object.keys(object)

ただし、これはオブジェクト自体のプロパティとメソッドのみを返します。
オブジェクトのすべてのプロパティとメソッドを一覧表示するには、2つの可能性があります。
1。 FirefoxおよびFirefox用のFirebugコンソールのconsole.dir(object)メソッド
2。 Googleのdir(object)メソッドChrome開発ツール。

24
Andrey

簡単な解決策が必要な場合は、これでうまくいく可能性があります。

function dir(object) {
    stuff = [];
    for (s in object) {
        stuff.Push(s);
    }
    stuff.sort();
    return stuff;
}
14
dmitry_romanov

Google Chrome開発者ツールコンソールには事前定義されたディレクトリがあります: https://developers.google.com/chrome-developer-tools/docs/console

Firebugにはconsole.dirがあります: http://getfirebug.com/logging

4
Protector one

グローバル変数は、簡単にアクセスできるオブジェクト(window)に保持されているため、簡単に検査/反復できます。 (Glenjaminによって提案された関数のようなものを使用して)

一方、関数またはクロージャで定義されたローカル変数を検査する方法はわかりません。これが可能であれば、少なくともブラウザ/コンソールに固有のものになると思います。

2
hugomg

よくあなたはオブジェクトがそれ自身のプロパティのように含まれているのを見ることができます:それはグーグルだけでなくどんなコンソールでも働くことができますchromeウェブブラウザはimgを探します ここに画像の説明を入力してください コンソール.dir(obj);ここのリンク: https://developers.google.com/web/tools/chrome-devtools/console/console-reference

1
AmitNayek