为什么我不能在jQuery中初始化我的变量?

时间:2015-03-14 11:27:13

标签: javascript jquery function initialization init

我冻结了我的应用程序。我想使用函数之类的变量创建自己的reports.js文件但我无法初始化它。我正在复制模板中已经完成的其他工具,但我无法理解为什么我的工作不起作用。

这是我将其称为头部的部分。

$(document).ready(function(){
   "use strict";

   App.init(); // Init layout and core plugins
   Plugins.init(); // Init all plugins
   FormComponents.init(); // Init all form-specific plugins

   Reports.init();

   $('#StartDate').pickadate({
     formatSubmit: 'yyyy/mm/dd',
     hiddenName: true
   });
});

当我运行该站点时,控制台显示 TypeError:Reports.init不是函数

现在我要分享report.js文件:

var Reports = function () {

   "use strict";

   var form = $('form').attr('id');
   alert(form);
   /* * * * * * * * * * * * * * *
    * Employee Clock-In Clock-Out
    * * * * * * * * * * * * * * */
   var EmployeeClocks = function(form) {
      // will do something
   }

   return {
       // main function to initiate reports
       init: function () {
          // EmployeeClocks();
       },
   };
}

2 个答案:

答案 0 :(得分:2)

添加()。你的Reports现在是一个函数,而不是一个类。但是这个函数返回你想要的东西。

var Reports = function () { ... }()

答案 1 :(得分:-1)



$(document).ready(function(){
   "use strict";

   App.init(); // Init layout and core plugins
   Plugins.init(); // Init all plugins
   FormComponents.init(); // Init all form-specific plugins

   // Reports.init();
   var reports = new Reports();
   reports.init();

   $('#StartDate').pickadate({
     formatSubmit: 'yyyy/mm/dd',
     hiddenName: true
   });
});