5

console.log を介してコンソールに文字列を出力する JavaScript 関数を作成しようとしています。ただし、文字列にはキャリッジ リターンが含まれており、新しい行を作成する代わりにリテラル ↵ 文字として表示されます。これは console.log の制限ですか、それともこれを回避する方法はありますか?

ありがとう!

編集:私は実際にこの関数をオブジェクト内に出力しようとしています。何かのようなもの:

function blah() {
};
console.log({ "function" : blah });

最初は言及するつもりはありませんでしたが、crowjonah のソリューションを試した後、console.log が直接渡された文字列を別のオブジェクト内で渡された文字列とは異なる方法で処理していることに気付きました。

4

4 に答える 4

6
于 2013-02-21T21:08:24.677 に答える
1

これはコンソールの制限です。ただし、回避策を作成できます。

function multiLineLog(msg) {
    msg = msg.split(/[\r\n]+/g);
    for (var a=0; a < msg.length; a++) console.log(msg[a]);
}
于 2012-11-27T17:26:39.043 に答える
1

\n改行が必要な場所で、ログ メッセージ内で使用します。

console.log('first line \nsecond line');

「キャリッジ リターン」が のような html 要素である<br>場合、文字列に対して置換を実行して自動的に実行できます。

var newLogMessage = multiLineLogMessage.replace('<br>', '\n');
console.log(newLogMessage);
于 2012-11-27T17:26:47.757 に答える