aboutsummaryrefslogtreecommitdiff
path: root/files/ja/code_snippets/modules/index.html
blob: 46b808913a6cc3c2168e683af5a70fedc3d689c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
---
title: モジュール
slug: Code_snippets/Modules
translation_of: Archive/Add-ons/Code_snippets/Modules
---
<p>単純なコードで <a href="/ja/JavaScript_code_modules" title="ja/JavaScript code modules">JavaScript モジュール</a> を Mozilla 固有でないコードにします (ブラウザにポーティングする場合など)。eval() は、ユーザの入力に依存しない <code>EXPORTED_SYMBOLS</code> 配列上でのみ使用されるため心配いりません。</p>
<pre class="brush: js">function importModule (thatObj) {
    thatObj = thatObj || window;

    var EXPORTED_SYMBOLS = [
    // シンボルをここに置く
    ];

    // ここにコードを書く...

    // コードの終わりに: ('i' や 'thatObj' はエクスポートされません!)
    for (var i=0; i &lt; EXPORTED_SYMBOLS.length; i++) {thatObj[EXPORTED_SYMBOLS[i]] = eval(EXPORTED_SYMBOLS[i]);}
}
</pre>
<p>あるいは、モジュールを一度だけ使用する場合:</p>
<pre class="brush: js">(function (thatObj) {
    thatObj = thatObj || window;

    var EXPORTED_SYMBOLS = [
    // シンボルをここに置く
    ];

    // ここにコードを書く...

    // コードの終わりに: ('i' や 'thatObj' はエクスポートされません!)
    for (var i=0; i &lt; EXPORTED_SYMBOLS.length; i++) {thatObj[EXPORTED_SYMBOLS[i]] = eval(EXPORTED_SYMBOLS[i]);}
})(); // オブジェクトの引数をここに置けます</pre>