--- title: コマンドラインインタープリター slug: Tools/Web_Console/The_command_line_interpreter translation_of: Tools/Web_Console/The_command_line_interpreter ---
{{ToolsSidebar}}
ウェブコンソールのコマンドラインで、JavaScript の構文を即座に評価することができます。
式の入力方法は、コマンドラインに入力して Enter を押下するだけです。複数行の式を入力する場合は、Enter の代わりに Shift+Enter を使用します。
入力した式をメッセージ表示ウィンドウにエコー出力して、その後に結果を出力します:
Firefox 47 より、Enter を押下したときに入力が完了していないと思われる場合は、Shift+Enter として扱い、入力を完了できるようになりました。
例えば、以下のように入力します:
function foo() {
そして Enter を押下すると、コンソールは直ちに入力内容を実行せずに Shift+Enter を押下したかのように動作しますので、関数定義の入力を完了できます。
ページで定義している変数にアクセスすることができ、window
のように組み込み済みの変数と jQuery
のように JavaScript で追加した変数のどちらでも可能です:
コマンドラインにオートコンプリート機能があります。最初の数文字を入力すると、考えられる完成形を示すポップアップを表示します:
候補を受け入れるには Enter または Tab を押下します。また上/下矢印キーで別の候補へ移動できます。どの候補も望まない場合は入力を続けてください。
コンソールは、現在実行中のスタックフレームのスコープから候補を提示します。これにより関数内でブレークポイントに当たった場合は、関数内のローカルオブジェクトもオートコンプリートの対象になります。
配列要素向けのオートコンプリート候補も表示します:
独自の変数を定義したり、その変数にアクセスしたりできます:
コマンドラインは、あなたが入力したコマンドを覚えています: 上下矢印キーで、履歴を行き来できます。
Firefox 39 より、この履歴はセッションをまたいで維持するようになりました。履歴をクリアするには、clearHistory()
支援コマンド を使用してください。
ページに インラインフレーム を埋め込んでいる場合は、cd()
コマンドで特定のインラインフレームにコンソールのスコープを切り替えることができます。また、インラインフレームで表示しているドキュメントで定義した関数を実行できます。cd()
でインラインフレームを選択する方法は 3 通りあります:
インラインフレームの DOM 要素を渡すことができます:
var frame = document.getElementById("frame1"); cd(frame);
インラインフレームにマッチする CSS セレクターを渡すことができます:
cd("#frame1");
インラインフレームの window グローバルオブジェクトを渡すことができます:
var frame = document.getElementById("frame1"); cd(frame.contentWindow);
トップレベルの window にコンテキストを戻す場合は、引数を与えずに cd()
を呼び出してください:
cd();
例えば、インラインフレームを埋め込んだドキュメントがあるものとします:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <iframe id="frame1" src="static/frame/my-frame1.html"></iframe> </body> </html>
インラインフレームで新たな関数を定義しています:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script> function whoAreYou() { return "I'm frame1"; } </script> </head> <body> </body> </html>
以下のようにしてコンテキストをインラインフレームに切り替えることができます:
cd("#frame1");
グローバル window の document がインラインフレームであることがわかります:
また、インラインフレーム内で定義した関数を呼び出すことができます:
{{page("/ja/Using_the_Web_Console/Helpers", "The commands")}}