根据new Date()设计一个Javascript对象,以字符串形式输出到console.log

根据new Date()设计一个Javascript对象,以字符串形式输出到console.log,javascript,Javascript,是如何console.log(newdate())在控制台上显示字符串 如何在我的对象中模仿这种行为?在对象的原型中提供一种方法: var Demo = function(){}; Demo.prototype.toString = function(){ return "Demo string"; }; var test = new Demo(); console.log(test); // results in "Demo string" 请注意,这可能会稍微改变代码的行为,因为在某些情

是如何
console.log(newdate())在控制台上显示字符串

如何在我的对象中模仿这种行为?

在对象的原型中提供一种方法:

var Demo = function(){};
Demo.prototype.toString = function(){ return "Demo string"; };

var test = new Demo();
console.log(test); // results in "Demo string"
请注意,这可能会稍微改变代码的行为,因为在某些情况下,如果左侧和右侧的类型不同,非类型安全比较运算符
=
将使用此功能:

if(test == "Demo String"){
    console.log("Equal!");
}
if(test !== "Demo String"){
    console.log("But not same type!");
}
但是,似乎
console.log
,因此没有统一的解决方案。请注意,您仍然可以使用
console.log(test+“”)
触发调用
toString

在对象的原型中提供一种方法:

var Demo = function(){};
Demo.prototype.toString = function(){ return "Demo string"; };

var test = new Demo();
console.log(test); // results in "Demo string"
请注意,这可能会稍微改变代码的行为,因为在某些情况下,如果左侧和右侧的类型不同,非类型安全比较运算符
=
将使用此功能:

if(test == "Demo String"){
    console.log("Equal!");
}
if(test !== "Demo String"){
    console.log("But not same type!");
}

但是,似乎
console.log
,因此没有统一的解决方案。请注意,您仍然可以使用
console.log(test+)
触发调用
toString

这在firebug或chrome控制台中都不起作用。输出显示的是演示对象,而不是字符串表示。@dsjbirch:请将您尝试的代码添加到您的问题中,因为我在FF17中描述的步骤工作正常。我只是将您的代码复制并粘贴到JSFIDLE中,然后打开控制台。我使用的是firefox 15.0和chrome?@dsjbirch:内置控制台没有显示这种行为。但是,似乎
console.log
,因此没有统一的解决方案。请注意,您仍然可以使用
console.log(test+“”)
来触发调用
toString
。JavScript的乐趣!谢谢你的回答。认可的。你能不能在你的回答中添加一些文字来表达你的评论:非标准化,这样后面的任何人都不会错过你评论回复中的信息。这在firebug或chrome控制台中都不起作用。输出显示的是演示对象,而不是字符串表示。@dsjbirch:请将您尝试的代码添加到您的问题中,因为我在FF17中描述的步骤工作正常。我只是将您的代码复制并粘贴到JSFIDLE中,然后打开控制台。我使用的是firefox 15.0和chrome?@dsjbirch:内置控制台没有显示这种行为。但是,似乎
console.log
,因此没有统一的解决方案。请注意,您仍然可以使用
console.log(test+“”)
来触发调用
toString
。JavScript的乐趣!谢谢你的回答。认可的。你能不能在你的回答中添加一些文字来表达你的评论:非标准化,这样在你的评论回复中任何人都不会错过信息。