哪种格式更好而且不耗时?

时间:2014-03-06 11:21:21

标签: javascript

我是网络开发的新手。所以我很困惑Java Script的时间复杂性,JQuery与C,C ++等其他编程语言的混淆。

  Format 1:
    var cur_month;    
    cur_month = (new Date().getMonth()) + 1;  // returns 0 to 11
    cur_month = cur_month.toString().length > 1 ? cur_month : '0' + cur_month;

  Format 2:
    var cur_month;            
    cur_month = ((new Date().getMonth()) + 1).toString().length > 1) ? ((new Date().getMonth()) + 1) : '0' + ((new Date().getMonth()) + 1);

在格式2中,我从3个新日期对象访问月份..但在第一种格式中,我只创建一个对象并从中访问..哪一种格式更好?

3 个答案:

答案 0 :(得分:1)

格式1,因为您没有创建多个Date对象(值略有不同)

我也会改写最后一行。

向数字添加字符串会隐式地将其强制转换为字符串。

var cur_month;    
cur_month = (new Date().getMonth()) + 1;
cur_month = ( cur_month < 10 ? '0' : '' ) + cur_month;

答案 1 :(得分:0)

绝对是第一个,因为你正在分配一个Date对象而不是三个使用尽可能少的内存(尽管在现代计算机的上下文中它是 epsilon )并且增加了同质性(就像@WraithNath说的那样,即使日期更改问题不太可能,但仍然可能),并且因为你让代码的读者更容易阅读(可能是你在6个月内)不要做太宽的线。

答案 2 :(得分:0)

我会使用第一个示例,就好像代码在当月最后一天的1毫秒到午夜运行一样,可能会在创建下一个日期对象时转到下个月。

使用第一个示例,您有一个在逻辑

期间不会更改的日期对象