33

次のコードでフィドルを作成しました。

var x=10;

これをコンソールで表示しようとすると、次のようになります。

> x
ReferenceError: x is not defined

コンソールを実行するにはJavascriptが必要なので、理にかなっています。これを機能させる方法はありますか?

4

2 に答える 2

69

Chrome または Chromium を使用している場合、開発者コンソールの下部に文字列<top frame>が表示されます。それをクリックして選択しますresult(fiddle.jshell.net)。これにより、ブラウザの現在のスコープが変更され、すべてのグローバル変数にアクセスできます。また、変数にもno wrapアクセスする場合は、jsFiddle の読み込みオプションを に変更することを忘れないでください。var

スクリーンショット クローム

更新: 2014.12.01

Firefox (34+) と新しい Firefox Developer Edition では、開発者ツールで [現在ターゲットとしているドキュメントとしてフレームを選択] 追加ツールを有効にし、それをクリックして を選択することで、同じことを行うことができますhttp://fiddle.jshell.net/_display/

スクリーンショット Firefox

于 2013-01-15T00:06:22.423 に答える
5

コンソールは、独自のクロージャーのようなものthis === windowです。コンソールで定義された変数のみが表示されます (コマンド/スクリプトごと)。

したがって、コンソールに表示されるデータを公開するには、次の 2 つの方法があります。

  1. var x = 5; console.log(x); // out of your code, not as console command
  2. window.x = 5; // now x is global, so in console you get 5 for x.

純粋なコンソール コマンドの代わりに、デバッガーを使用できます。firebug および chrome の開発ツールでは、ブレークポイントを設定し、ページを更新して (jsFiddle でこれを実行する必要があります)、スコープ内の変数の実際の値を確認できます。(コードをデバッガーに取り込むには、ページを 1 回リロードする必要があります。次にリロードすると、document.ready イベントでブレークポイントが取得されます。)

于 2013-01-15T00:03:02.283 に答える