JavaScriptデバッグ技巧のconsolie.log()詳細解
2264 ワード
一、コンサートとは何ですか?いくつかの古いバージョンのブラウザを除いて、今はほとんどのブラウザはデバッグ機能を持っています.デバッグ機能がなくても、プラグインをインストールして補足することができます.例えば、古いバージョンのFirefoxはデバッグツールを持っていません.この場合、Firebugプラグインをインストールしてデバッグ機能を追加することができます.デバッグ機能を備えたブラウザでは、Windowsオブジェクトにconsosoneというメンバー変数を登録し、デバッグツールのコンソールを指します.このconsoneオブジェクトのlogs関数を呼び出して、コンソールで情報を印刷することができます.例えば、以下のコードはコンソールで「Sample logs」を印刷します.
window.console.log("Sample log");
上記のコードはwindowオブジェクトを無視して直接に簡単に書くことができます.
console.log("Sample log");
consolie.log()は、任意の文字列、数字、およびJavaScriptオブジェクトを受け入れることができます.alert()関数と同様に、consolie.logs()は、改行、およびタブストップ\tを受け入れることもできます.consolie.log()文で印刷されたデバッグ情報は、ブラウザのデバッグコンソールで見ることができます.様々なブラウザにおいて、consolie.log()の挙動は異なるかもしれないが、ここでは主にFirebugにおけるsoline.log()の使用について検討する.二、デバッグコンソールがないブラウザはデバッグコンソールの古いバージョンのブラウザが足りないため、windowの中のconsoneオブジェクトは存在しないので、直接にconsone.log()文を使うと、ブラウザの内部でエラー(空のポインタが間違っている)を引き起こし、最終的にいくつかの古いバージョンのブラウザが崩壊する可能性があります.この問題を解決するためには、人工的にconsoneオブジェクトを定義し、このconsolieオブジェクトのlog関数は空の関数であると宣言することができる.このように、これらの古いバージョンのブラウザは、consolone.log()文が実行されると、何もしないであろう.
if(!window.console){
window.console = {log : function(){}};
}
しかし、ほとんどの場合、この互換性のある作業をする必要はないです.consolie.log()などのデバッグコードは最終的な製品コードから削除しなければなりません.三、使用パラメータはalert()関数と似ています.consolone.log()も変数を受け入れて、他の文字列とつなぎ合わせることができます.
//Use variable
var name = "Bob";
console.log("The name is: " + name);
alert()関数とは異なり、consolie.log()は、変数がパラメータとして文字列に伝達されることも可能であり、その具体的な文法はC言語におけるprintf文法と一致する:
//Use parameter
var people = "Alex";
var years = 42;
console.log("%s is %d years old.", people, years);
上記のコードの実行結果は、「Alex is 42 years old.」四、他のログレベルを使用して、consone.log()以外にも、Firebugは様々な異なるログレベルをサポートしています.debug、info、warn、error.これらの異なるログレベルの情報をコンソールで印刷します.
//Use different logging level
console.log("Log level");
console.debug("Debug level");
console.info("Info level");
console.warn("Warn level");
console.error("Error level");
Firebugコンソールからは、異なるログレベルの印刷情報が見られます.色とアイコンは違います.同時に、コンソールで異なるログレベルを選択してこれらの情報をフィルタリングすることができます.