10

タグ間のhtmlファイルにたくさんのjavascript関数を書きましたが、すべての関数を別のJSファイルに入れたいので、JSファイルを他のhtmlページに再利用して、JSを含めるだけで済みますファイル。

これは私の関数がどのように見えるかです:

function makeStartRefresher(refresh, refreshTime) {
//function code
}
function readData(address){
//function code
}
function writeData(address, value, refreshCallback){....
........
........
........

これらは、これらの関数を呼び出して使用する場所から、私の document.ready 関数の上に書かれています。

これらの関数を JS ファイルにコピーし、その JS ファイルを HTML ドキュメントに含めるだけで機能しますか? 通常のように関数を呼び出すことができますか?

グルツ

4

2 に答える 2

23

通常、このようなものを使用して別のモジュールを定義します。

LibName= window.LibName || {};

LibName = function () {

  var yourVar1;
  var yourVar2;


  publicFunc1 = function() {

  };

  privateFunc2 = function() {

  };


  return {
    "publicFuncName" :  publicFunc1
  }

}();

HTMLでは、次のように呼び出すことができますLibName.publicFuncName()

また、ここでモジュールパターンを見てください - http://addyosmani.com/resources/essentialjsdesignpatterns/book/

更新:

これで、ES6 は本番環境の準備が整ったので、回答を更新する必要があります。

class MyLib {
  constructor() {
    this.foo = 1;
    this.bar = 2;
  }

  myPublicMethod1() {
    return this.foo;
  }

  myPublicMethod2(foo) {
    return foo + this.bar;
  }
}

const instance = new MyLib();
export { instance as MyLib };

そして、あなたがそれを必要とするとき:

import { MyLib } from './MyLib';
于 2013-04-29T13:16:36.783 に答える