在单独的JS文件中包含帮助程序函数(客户端)

时间:2013-07-18 14:53:20

标签: javascript

首先,我知道这可能在很大程度上是相当低级的,我很抱歉在问这个之前没有真正尝试过。

你们建议在单独的文件中包含帮助函数的方法是什么?我已经习惯了node.js的module接口来做这件事,但我不是100%关于如何在客户端实现类似功能。

我希望将其抽象到自己的文件中的一个小例子:

var helpers = (function() {
  var _helpers = {};

  _helpers.buildDateFromDelta = function(delta) {
    date = new Date();
    date.setDate(date.getDate() - delta);
    date.setHours(0, 0, 0, 0);

    return date;
  };

  return _helpers;
})();

2 个答案:

答案 0 :(得分:1)

不确定这是否是您正在寻找的,但这就是我要做的(假设您在HTML页面上运行它)

var s = document.createElement("script");
s.src = "external.js";
document.getElementsByTagName("head")[0].appendChild(s);

此代码位于主js文件中。
希望有所帮助!

答案 1 :(得分:1)

我编写辅助函数的方式已经设置好了,我可以轻松地将它们包含在一个单独的文件中。

HTML

<script src="/javascript/helper.js" type="text/javascript">
<script src="/javascript/file-using-helpers.js" type="text/javascript">

helper.js

var helpers = (function() {
  var _helpers = {};

  _helpers.buildDateFromDelta = function(delta) {
    date = new Date();
    date.setDate(date.getDate() - delta);
    date.setHours(0, 0, 0, 0);

    return date;
  };

  return _helpers;
})();

使用文件-helpers.js

var date = helpers.buildDateFromDelta(0);
console.log(date.getFullYear());  // Works

var otherIIFEExample = (function(lib) {
  console.log(lib.buildDateFromdelta(0).getFullYear());
})(helpers);

这是有效的,因为在声明辅助变量时,它是在全局范围内设置的(我假设)。该文件之后包含的其他顶级文件也可以使用该变量。