如何在打印javascript对象时在Chrome控制台中修改输出
问题描述:
我想知道当我在控制台中打印对象时(如图中所示情况),幕后会发生什么。 如何在对象内部定义一个特殊函数来打印我自己的代码而不是对象的所有属性(相当于Objective-C中的toString)?例如,如果我在控制台中评估a
,我只想打印字符串“hello”,而不是全部打印{one: 1, two: 2, hello: "hello"}
。 我可以不使用console.log()或类似的函数吗? 如何在打印javascript对象时在Chrome控制台中修改输出
答
嗯,我不确定这是否是你的问题,但你总是可以重写对象的toString()方法。
var a = {a:"something", hello:"hello", toString:function(){console.log(this.hello)}};
a.toString() // prints hello
希望有帮助!