2016-05-21 1 views
1

JavaScriptを書くときに、スクリプトが複雑になるにつれて変数の値を絶えずチェックする必要があることがよくあります。スクリプト内のすべての変数の名前と値を自動的にconsole.logに返します。

関数を呼び出して変数値をコンソールに自動的に記録する方法はありますか?

var foo = 1, 
    bar = true, 
    yin = ['item 1', 'item 2'], 
    yang = 'a string', 
    tan = $(this); 

function() { 
    yang = 'another string'; 
} 

foo += 1; 

yin.push('item 3'); 

function logMyVariables(); 

はログインします:

foo: 2 
bar: true 
yin: item1, item2, item 3 
yang: another string 
tan: [object Object] 
+0

あなたは "自動的に" とはどういう意味ですか?これまでに記録した秒数x秒と同じですか? – Jerry

+0

@Jerry、良い点、私はちょうど質問を更新しました – Timmah

+1

変数を表示する必要があるときに、最も外側のスコープ内のオブジェクトにすべての変数を格納したり、グローバルにしたり、単にそのオブジェクトをコンソールに記録することができます。 [デモ](https://jsfiddle.net/davidThomas/fLyahnma/)。 –

答えて

0

あなたはdebugger;を呼び出すことができます。これにより、スクリプトが一時停止され、すべての変数、ローカルおよびグローバル変数を含む多くの点のスナップショットが表示されます。

あなたの開発ツールを開いた状態で下のスニペットを実行しようとすると、その結果が表示されます。これは少なくともChromeとFirefoxで動作します。

function init() { 
 
    var foo = 1, 
 
    bar = true, 
 
    yin = ['item 1', 'item 2'], 
 
    yang = 'a string', 
 
    tan = this; 
 

 
    (function(){ 
 
    yang = 'another string'; 
 
    
 
    }()); 
 

 
    foo += 1; 
 

 
    yin.push('item 3'); 
 

 
    debugger; 
 

 
} 
 

 
init();

関連する問題