InDesign CS5自動化作戦 (InDesign CS5 Automation Operation)

関数を定義する

■プログラム説明(ソースコード説明)
 1行目で関数calc()を呼び出しています。()内にある2と3の文字列が関数に渡されます。関数内では渡された文字列を乗算して値を返します。呼び出した側で結果を表示します。

■ソースコード
n = calc(2,3);
alert("計算結果は"+n);

function calc(n1,n2)
{
var mul = n1 * n2;
return mul;
}

■ポイント
 関数名は変数名と同じように先頭が英文字で始まり、2文字目以降は英数字での組み合わせになります。日本語は使えません。関数を呼び出す場合に()内に関数側に渡すデータ(引数)を記述することができます。複数渡すデータがある場合には,(カンマ)で区切って列記します。
 関数側ではデータを受け取って処理した後に呼び出し元に処理結果を返す場合にはreturnを使います。返すことが出来るのは1つに限られるため複数の結果を返したい場合には以下のように配列として返すようにします。

return ["Ab",23,56];

 同じ名前の関数を定義することもできます。この場合は、一番最後に定義した関数の内容になります。下記サンプルではメッセージ表示の際に「計算結果は」でなく「Result :」で表示されます。

calc("1+2*3");

function calc(str)
{
alert("計算結果は"+eval(str));
}
function calc(str)
{
alert("Result : "+eval(str));
}

calc("1+2*3");

■実際のスクリプトをダウンロード(sample.jsx.zip)

写真素材 PIXTA