如何为 console.log() 中的每个值打印标签

How to print out a label for each value in console.log()

我无法弄清楚如何自定义 console.log() 以便它自动打印出我传递给它的每个参数的标签。比如我经常做这样的事情,这样就很清楚每条日志打印出来的是什么:

console.log('firstName: ', firstName);

我希望能够将其简化为:

my.log(firstName);

有没有办法将调用者参数的变量名传递给console.log()?还是有另一种方法可以做到这一点?我希望我不必两次输入变量名,只需一次。理想情况下,打印出多个参数,每个参数在控制台的一行中都有自己的标签。我知道我可以访问参数列表,但我不知道如何对每个参数进行 un-eval() 以获取其变量名,如果这有意义的话。我希望这是我错过的超级简单的事情。

您可以使用 console.table() 以更易读的形式打印内容:

(去真实控制台看看)

var obj = {
  firstName: "name",
  lastName: "smith"
};

function log(obj) {
  console.table(obj);
}
log(obj);

按你想要的方式做是不可能的(日志功能不知道你叫什么名字。) 我解决这个问题的方法是使用对象 shorthand {firstName} 创建一个临时对象。

然后您可以使用 .log.table 来显示它:

const firstName = 'bob';
console.log({firstName});
console.table({firstName});
// It also works for multiple variables:
const lastName = 'smith';
console.log({firstName, lastName});

试试这个:

var my = { 
    log : function(name) { 
              console.log('firstName: ', name); 
          } 
    };

my.log("Rohit");