ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript デバッグ手順_JavaScript スキル

JavaScript デバッグ手順_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:25:34859ブラウズ

以前は、JavaScript の IO サポートは非​​常に弱く、対応するテキスト ファイルに書き込むことができませんでした。さらに、例外オブジェクト Error は均一ではなく、詳細なスタックを出力できませんでした。例外オブジェクトのカスタマイズは、通常はそのメッセージ属性しか表示されないため、非常に不快な方法です。さらに、他のカスタム属性は最も遅い for...in ループを使用して調べる必要があります。現時点では、ブラウザのさまざまなプライベート実装に頼るしか方法はありません。たとえば、Firefox には console.log があります。以下は、コンソール オブジェクトのメソッドのリストです。firebug の詳細な使用方法については、この記事を参照してください。

機能 説明 log(obj[, obj, ...]) コンソールにメッセージを出力します。複数のパラメータを入力でき、出力はスペースで区切られます。
函数 说明
log(obj[, obj, ...]) 向控制台输出一个信息。可以输入多个参数,输出将已空格分隔各参数输出。
第一参数可以包含格式化文本,例如:
log(‘这里有%d个%s',count,apple);
字符串格式:
%s:字符串。
%d, %i:数字。
%f: 浮点数。
%o -超链接对象。
debug(obj[, obj, ...]) 向控制台输出一个信息,信息包含一个超链接链接到输出位置。
info(obj[, obj, ...]) 向控制台输出一个带信息图标和背景颜色的信息,信息包含一个超链接链接到输出位置。
warn(obj[, obj, ...]) 向控制台输出一个带警告图标和背景颜色的信息,信息包含一个超链接链接到输出位置。
error(obj[, obj, ...]) 向控制台输出一个带错误图标和背景颜色的信息,信息包含一个超链接链接到输出位置。
assert(expression[, obj, ...]) 测试一个表示是否为true,如果为false,提交一个例外信息到控制台。
dir(obj) 列出对象的所有属性。
dirxml(node) 列出HTML或XML Element的XML源树。
trace() 输出堆栈的调用入口。
group(obj[, obj, ...]) 将信息分组再输出到控制台。通过groupEnd()结束分组。
groupEnd() 结束分组输出。
time(name) 创建一个名称为name的计时器,计算代码的执行时间,调用timeEnd(name)停止计时器并输出执行时间。
timeEnd(name) 停止名称为name的计时器并输出执行时间。
profile([title]) 开始对脚本进行性能测试,title为测试标题。
profileEnd() 结束性能测试。
count([title]) 计算代码的执行次数。titile作为输出标题。
最初のパラメータには、フォーマットされたテキストを含めることができます。例:
log(‘There are %d %s’, count, apple);
文字列形式: デバッグ(obj[, obj, ...]) 出力場所へのハイパーリンクを含むメッセージをコンソールに出力します。 情報(obj[, obj, ...]) メッセージ アイコンと背景色を使用してメッセージをコンソールに出力します。メッセージには、出力場所へのハイパーリンクが含まれます。 警告(obj[, obj, ...]) 警告アイコンと背景色を含むメッセージをコンソールに出力します。メッセージには、出力場所へのハイパーリンクが含まれます。 エラー(obj[, obj, ...]) エラー アイコンと背景色を含むメッセージをコンソールに出力します。メッセージには、出力場所へのハイパーリンクが含まれます。 assert(expression[, obj, ...]) 表現が true かどうかをテストし、false の場合は例外メッセージをコンソールに送信します。 ディレクトリ(obj) オブジェクトのすべてのプロパティをリストします。 dirxml(ノード) HTML または XML 要素の XML ソース ツリーをリストします。 トレース() 出力スタックの呼び出しエントリ。 グループ(obj[, obj, ...]) 情報をグループ化してコンソールに出力します。 groupEnd() を使用してグループを終了します。 グループエンド() グループ出力を終了します。 時間(名前) name という名前のタイマーを作成し、コードの実行時間を計算し、timeEnd(name) を呼び出してタイマーを停止し、実行時間を出力します。 終了時刻(名前) name という名前のタイマーを停止し、実行時間を出力します。 プロフィール([タイトル]) スクリプトのパフォーマンス テストを開始します。タイトルはテストのタイトルです。 profileEnd() パフォーマンステストを終了します。 カウント([タイトル]) コードの実行回数をカウントします。 title を出力タイトルとして指定します。 firebug については詳しく説明しません。IE8 にも console.log がありますが、これは F12 を押してデバッグ モードに入った場合にのみ有効になります。それ以外の場合は、エラーが報告されます。エラーを報告しないようにするには、通常は空のオブジェクトを実装して上書きする必要があります。


コードをコピー


コードは次のとおりです。


if (!window.console ){
window .console = {};
varmessages = ["log"、"debug"、"info"、"warn"、"error"、"assert"、"dir"、"dirxml"、
"group ", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"],
noop = function(){}
for (var i = 0 , method; method=methods[i ];) window.console[method] = noop; } おそらく、opera9.5x 以降に追加のものがあります。ドラゴンフライイーストと呼ばれています。明らかに、firebug のさまざまなログ出力と比較することはできません。提供されるのは、opera.postError メソッドだけです。


コードをコピー

コードは次のとおりです。
if (window.opera && opera.postError ) { opera.postError(message); } Safari にも console.log があります。これは Web Inspector コンポーネントに基づいており、Firefox に似ていますが、フルーツ人間ではないので、Firebug ほど多くのメソッドはありません。新興ブラウザ Chrome の場合、拡張機能に Firebug がインストールされている Chrome バージョンを検索できるようになりました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。