Module RequireJS:返回total函数,但我需要值,因为它是一个日期模块?

Module RequireJS:返回total函数,但我需要值,因为它是一个日期模块?,module,requirejs,Module,Requirejs,我正在创建这样一个模块。因为它是一个日期对象,所以我在return块中编写代码。否则,它将给予同样的时间。所以,我想要的是,如果我想做一些关于日期、日期或属性的功能,我已经写了一个函数,但它给出了一个总函数作为响应: 定义([],函数(){ var dayarr=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”]; 返回{ 日期:新日期().getDate(), day:dayarr[新日期().getDay()], 年份:职能(){ 新日期().getFullYear()

我正在创建这样一个模块。因为它是一个日期对象,所以我在
return
块中编写代码。否则,它将给予同样的时间。所以,我想要的是,如果我想做一些关于日期、日期或属性的功能,我已经写了一个函数,但它给出了一个总函数作为响应:

定义([],函数(){
var dayarr=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
返回{
日期:新日期().getDate(),
day:dayarr[新日期().getDay()],
年份:职能(){
新日期().getFullYear();
},
时间:新日期().getHours()+“:”+新日期().getMinutes()+“:”+新日期().getSeconds()
}
});
物业
年度的响应

函数(){
new Date().getFullYear();//和一些计算代码
}
但我想要整整一年

我点击了这个链接:,
但是它提供了全部功能。

不太清楚你想做什么

require(["myDateModule"], function (myDateModue) {
    var year = myDateModule.year();
});
您将
year
属性定义为一个函数,因此您将得到它。您只需要执行您的函数

require(["myDateModule"], function (myDateModue) {
    var year = myDateModule.year();
});
如果您不想要函数,那么就不要将其定义为函数,就像您对
日期
日期
时间
所做的那样。这些字段也都有计算值


请记住,定义模块的函数只调用一次,第一次加载模块时,其返回值将被缓存并用于该模块的所有其他请求。这意味着您将在加载此模块的任何地方获得相同的日期

如果每次加载模块时都试图获取新日期或运行新计算,那么您可能希望从模块返回函数

define([], function() {
  var dayarr = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
  return function() {
    var date = new Date();

    return {
      date: date.getDate(),

      day: dayarr[date.getDay()],

      year: date.getFullYear();

      time: date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds()
    }
  }
});


require(["myDateModule"], function (myDateModue) {
    var date = myDateModule();
    var year = date.year; 
});

谢谢你的回复。我还需要块。我想在定义返回属性中执行一个功能。但是如果我添加一个函数,它返回的是函数本身,而不是值。例如,我在year property中显示。在这一点上,我想检查它是否是闰年。并且需要返回那个。但总体功能正在恢复@用长矛编码