2012-07-08 103 views
1

hol是一个Date()对象。Javascript toString()方法

为什么hol.toString()有用或有帮助? 是不是只是写/输出hol

还包括其他相关的方法,如

toDateString() 
toTimeString() 
+0

我没有太多的JavaScript,但是这就像我猜的Java。当你说Hol是一个类型为date的对象时。所以会有很多使用该对象的日期函数(toDateString和toTimeString是其中的两个),然而一旦将它们转换为字符串,您就可以直接进行字符串操作,就像它现在的一个字符串对象 – 2012-07-08 02:16:22

回答

2

做这样的事情alert("The time is now: " + hol);实际上隐含调用alert("The time is now: " + hol.toString());

此外,从Mozilla开发者网络[1] [2]:

var d = new Date(1993, 6, 28, 14, 39, 7); 
println(d.toString()); // prints Wed Jul 28 1993 14:39:07 GMT-0600 (PDT) 
println(d.toDateString()); // prints Wed Jul 28 1993 
println(d.toTimeString()); // prints 14:39:07 GMT-0600 (PDT) 

所以额外的方法提供了不同的预定义d格式。

注意也可作为记录两者的toDateStringtoTimeString方法:

的toDateString/toTimeString方法特别有用,因为 实施ECMA-262标准的发动机可从的toString为Date对象获得的字符串 在不同,因为格式为 取决于实现,而简单的字符串切片方法可能不会在多个引擎中产生一致的结果 。

0

W3Schools就让我们来看看表明,每当需要显示的字符串Date()对象toString()被调用,这样你就不需要自己调用它。

另外,如果你想显示Date()对象,你应该使用像你提到的那些(toDateString()toTimeString())的方法,但是当我编码的显示日期的脚本,我没有使用任何的那些方法。我使用Date()对象的getWhatever()方法。这使您可以更多地控制要显示的内容。

除非你不想自己动手编程:)

0

其实文件撰写(估计是你通过writing的意思)调用“的toString”任何对象转换为字符串。这是我们可以定义对象的字符串表示应该如何的函数。如果该函数没有定义字符串,则该对象将不会被打印。

e.g:http://jsfiddle.net/8bP37/

也可以尝试这个

Date.prototype.toString = null; 
document.write(new Date()); 

你可以看到越来越显示的时间值。

+1

它被多于' document.write'。这种特定行为的原因是因为内部函数['ToString'](http://es5.github.com/#x9.8)使用'ToPrimitive',该行将尝试使用可调用的'toString'对象的方法 - 如果'toString'不可用,则为可调用的'valueOf'。这就是为什么当你摆脱'Date#toString'(如你的例子)时,它最终将时间显示为UNIX时间戳:这是'Date#valueOf'的结果。 – Reid 2012-07-08 05:24:07