用对象初始化javascript数组导致array.length 0

时间:2014-05-09 19:09:50

标签: javascript

这会初始化一个字符串数组:

var cars = ["Saab", "Volvo", "BMW"];

这个应该初始化我想到的对象数组:

 var days = [moment(new Date(2014, 0, 1)), moment(new Date(2014, 0, 2))];

当我检查days.length为0而不是2时,为什么?

INFO:moment is momentJS是一个javascript日期库。

enter image description here

更新

当我这样做时:

var mom1 = moment(new Date(2014, 0, 1));
var mom2 = moment(new Date(2014, 0, 2));
var days = [mom1, mom2];

然后天的长度为2!

多数民众赞成!

更新2

// Arrange
var dateFactory = {
    getVisibleDateRange: function (startDate, endDate, visibleWeekDays) {
        // I do not care about the parameters, I just want to stub out the visible days with 2 stubs

        var days = [ moment(new Date(2014, 0, 1)), moment(new Date(2014, 0, 2))];
        return days;
    }
};

// load the service's module
beforeEach(module('clientApp', function ($provide) {
    $provide.value('dateFactory', dateFactory);
}));

从另一个angularjs factory.method1调用dateFactory.getVisibleDateRange方法。

在此方法1中,数组momentjs对象以长度2正确返回,但在dateFactory中,数组的长度为0。

好吧,我猜这不是解决这个特定问题的方法。推荐我的电脑; - )

0 个答案:

没有答案