0

まず、これはおそらくかなり低レベルであることを知っています。これを尋ねる前に実際に何も試していないことをお詫びします。

別のファイルにヘルパー関数を含めるためにどのような方法を提案しますか? 私はmoduleこれを行うための node.js のインターフェースに慣れていますが、同様の機能をクライアント側で実現する方法について 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;
})();
4

2 に答える 2

2

ヘルパー関数をコーディングした方法は、別のファイルに簡単に含めることができるように既に設定されていました。

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;
})();

file-using-helpers.js

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

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

これは、ヘルパー変数を宣言するときに、グローバル スコープで設定されているためです (私は推測しています)。そのファイルの後に含まれる他の最上位スコープのファイルも、その変数を使用できます。

于 2013-07-18T15:11:07.003 に答える
1

これがあなたが探しているものかどうかはわかりませんが、これが私がすることです (これは、HTML ページでこれを実行していると仮定しています)

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

このコードは、メインの js ファイルに入ります。
それが役立つことを願っています!

于 2013-07-18T15:03:13.733 に答える