3.4 共通ライブラリの作成
3.4.2 グローバル関数の作成
作成者:株式会社 NTT データ イントラマート
Page 45Page 46 Copyright 2000-2013 株式会社NTTデータ イントラマート All rights Reserved.
3. グローバル関数の利用。
ファンクション・コンテナ内からグローバル関数の呼び出しを行います。
<ソース例>
function sub(){
res = imSubVariables(10,3);
return res;
}
3.4.2.2 Procedure.define
関数
Procedure define
メソッド
void define (String name ,Object func)
JS関数(オブジェクト等)を設定します。
パラメーター
String name
設定プロパティ名称(文字列)
Object func JS
関数
※
Procedure.define()メソッドを使い、「グローバル関数」として登録すると、多少メモリを消費しますが、
関数をメモリに保持するため実行速度は速くなります。
※
Procedure.define()メソッドの詳細については、API リスト「アプリケーション共通モジュール」の
「
Procedure」を参照してください。
設定方法
ユーザ定義関数を任意の
jsファイルに作成し、メモリ上に格納されるよう初期化ファイル(pages/src/init.js)
に記述をします。これによって、
intra-mart起動時にユーザ定義関数がメモリ上に格納され、ファンクショ
ン・コンテナからダイレクトにメモリに呼び出しがかかるようになります。ユーザ定義関数の呼び出しは、ファ
ンクション・コンテナに記述を行います。
作成者:株式会社 NTT データ イントラマート
Page 471. 任意の
jsファイルにユーザ定義関数を格納する
ここでは例として、「sample/prog_guide/common_libs/global/add_variables.js ファイル」に共通関数
「addVariables()」を作るものとします。グローバルユーザ定義関数を格納する
jsファイルに以下のように、
Procedure.define()
メソッドを使用した記述をします。
<ソース例(add_variables.js)>
//ユーザ定義関数を js ファイルへ格納する記述 //共通関数として登録する
Procedure.define("addVariables", addVariables);
//共通関数作成
function addVariables( valueA, valueB ) { return valueA + valueB;
}
2. 起動時にメモリ上に格納される設定を行う
ユーザ定義関数を格納した
jsファイルについて、intra-mart 起動後にメモリ上に格納されるよう
pages/src/init.js
ファイル(初期化ファイル)にその
jsファイルを取り込む記述をします。
<ソース例>
//共通関数格納ファイルを取り込む記述 /* init.js */
//共通関数格納ファイルの取り込み
include("sample/prog_guide/common_libs/global/add_variables");
※ 必ずしも
pages/src/init.js内に記述しなくても、他の
JavaScriptファイルから一度
include()で取 り込まれた関数は、以後グローバル関数として使用することができます。
3. ファンクション・コンテナにユーザ定義関数を呼び出す記述をする
ユーザ定義関数を必要とするファンクション・コンテナに、
intra-mart起動後メモリ上に格納されたその関 数を呼び出す処理を記述をします。
ここでは例として、ファンクション・コンテナの「sample/prog_guide/common_libs/global/add_val_exe.js フ ァイル」で共通関数「addVariables()」 を呼び出すものとします。
ユーザ定義関数を呼び出すには、アプリケーション
jsファイルに、以下のように記述します。
<ソース例>
//ファンクション・コンテナにてグローバルユーザ定義関数を呼び出す記述
/* sample/prog_guide/common_libs/global/add_val_exe.js */
function add( ) { //共通関数の呼び出し
return Procedure.addVariables( 1, 2 );
}
Page 48 Copyright 2000-2013 株式会社NTTデータ イントラマート All rights Reserved.