在控制台追踪变量时,如何创建新行?

117

我想做一件很简单的事情,就是使用1个console.log语句将我的控制台跟踪拆分成多行:

console.log('roleName = '+roleName+' role_ID = '+role_ID+' modal_ID = '+modal_ID+\n+'related = '+related);

您如何编写上述内容以跟踪以下内容?

roleName = test
role_ID = test
modal_UD = test
related = test

而不是 roleName = test role_ID = test modal_UD = test related = test

我查看了几个看似相似的问题,但都没有帮到我或者在谈论不同的事情。

感谢您的阅读!

8个回答

196

你应该将它包含在引号 '\n' 中,请参见下面的示例:

console.log('roleName = '+roleName+ '\n' + 
             'role_ID = '+role_ID+  '\n' + 
             'modal_ID = '+modal_ID+ '\n' +  
             'related = '+related);

1
太棒了,谢谢你!我需要看看它的写法。 - Leon Gaban

44

在ES6 / ES2015中,您可以使用称为模板字符串的字符串字面量语法。 模板字符串使用反引号字符而不是单引号'或双引号"。 它们还保留换行符和制表符。

const roleName = 'test1';
const role_ID = 'test2';
const modal_ID = 'test3';
const related = 'test4';
        
console.log(`
  roleName = ${roleName}
  role_ID = ${role_ID}
  modal_ID = ${modal_ID}
  related = ${related}
`);


12

简单,\n 需要在字符串中。


8
为什么不为每个变量使用独立的console.log(),并用逗号分隔而不是将它们全部转换为字符串呢?这样可以获得单独的行,并提供每个变量的真实值,而不是每个变量的字符串表示(假设它们不全是字符串)。
console.log('roleName',roleName);
console.log('role_ID',role_ID);
console.log('modal_ID',modal_ID);
console.log('related',related);

我认为这样做会更易于阅读/维护。


我正在寻找一种像@Vega写的那样格式化代码的方法...在我看来更加清晰。 - Leon Gaban

5

您需要添加新行字符 \n

console.log('line one \nline two')

将显示:

第一行

第二行


4
使用仅有的

最糟糕的事情是

console.log({'some stuff': 2} + '\n' + 'something')

所有的东西都转换为字符串,如果需要显示对象,则可以参见下面:

[object Object]

因此,我的变体是下面的代码:
console.log({'some stuff': 2},'\n' + 'something');

4
console.log('Hello, \n' + 
            'Text under your Header\n' + 
            '-------------------------\n' + 
            'More Text\n' +
            'Moree Text\n' +
            'Moooooer Text\n' );

这对于仅包含文本的内容非常有效,且阅读起来很舒适。

0

您可以使用多行模板文字,但需要打破格式以避免每行开头的不必要空格:

const roleName = 'Read';
const role_ID = '887623';
const modal_ID = '346433';
const related = 'related';

function foo() {
    if (true) {
        if (true) {
            console.log(
               `roleName = ${roleName}
                role_ID = ${role_ID}
                modal_ID = ${modal_ID}
                related = ${related}`
            );            
        }
    }
}

foo();

function bar() {
    if (true) {
        if (true) {
            console.log(
`roleName = ${roleName}
role_ID = ${role_ID}
modal_ID = ${modal_ID}
related = ${related}`
            );            
        }
    }
}

bar();

你可以将字符串放入数组中,然后调用.join('\n')代替:

const roleName = 'Read';
const role_ID = '887623';
const modal_ID = '346433';
const related = 'related';

console.log([
    `roleName = ${roleName}`,
    `role_ID = ${role_ID}`,
    `modal_ID = ${modal_ID}`,
    `related = ${related}`
    ].join('\n')
)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接