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 < 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 < EXPORTED_SYMBOLS.length; i++) {thatObj[EXPORTED_SYMBOLS[i]] = eval(EXPORTED_SYMBOLS[i]);}
})(); // オブジェクトの引数をここに置けます</pre>
|