在我目前正在使用 JavaScript 进行的一个项目中,我使用的是十进制格式,因此它更容易计算,而不是在字符串中使用小时/分钟格式(日历相关项目)。但是,要在用户屏幕上显示时间,时间码必须显示为 hh:mm。
我认为为此使用 String 原型函数会很棒,因为它允许我使用如下代码:
var time = 8.75;
document.write("Meeting at "+time.toTime()); // writes: Meeting at 8:45
到目前为止,我几乎可以使用:
String.prototype.toTime = function(){
var hrs = this.toString().slice(0,this.indexOf("."));
var min = Math.round(this.toString().slice(this.indexOf("."))/100*60);
min = min<10 ? "0"+min : min.toString();
return hrs+":"+min;
}
但是,问题在于,这仅在变量time
是字符串时才有效。否则它将给出未定义的错误。
有没有办法将原型应用于 JavaScript 中的不同对象,这样我就不必使用了time.toString().toTime()
?
谢谢!