如何在console.log()

时间:2018-03-21 07:02:02

标签: javascript console.log

我无法弄清楚如何自定义console.log(),以便自动打印出我传入其中的每个参数的标签。例如,我经常做这样的事情,因此很清楚每个日志的打印内容:

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

我希望能够将其简化为:

my.log(firstName);

有没有办法将调用者args的变量名称传递给console.log()?或者还有另一种方法吗?我的愿望是我不必两次输入变量名,只需输入一次。理想情况下,在控制台中打印出多个参数,每个参数都有自己的标签。我知道我可以访问参数列表,但我不知道如何取消eval()每个参数只获得它的变量名,如果这有意义的话。我希望这是我错过的超级容易的东西。

3 个答案:

答案 0 :(得分:3)

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

(在真正的控制台中查看它。)



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

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




答案 1 :(得分:3)

按照你想要的方式做到这一点是不可能的(日志功能不知道你叫什么名字。) 我解决这个问题的方法是使用对象简写{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});




答案 2 :(得分:0)

试试这个:



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

my.log("Rohit");