welcome: please sign in
location: "ecma関数"の差分
8と9のリビジョン間の差分
2012-10-12 05:06:41時点のリビジョン8
サイズ: 1721
編集者: masahiko
コメント:
2012-10-12 05:42:29時点のリビジョン9
サイズ: 2070
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 58: 行 58:
次の和を求める。
 . {{attachment:return.png}}
nを引数として与えて呼び出すとn項目の値を返す関数を定義する。
 {{{
function kou(n) {
    return 1/n;
}
 }}}
これを呼び出して1~100項までの和を求める。
 {{{
sum = 0;
for(i=1; i<=100; i++) {
    sum = sum + kou(i);
}
print(sum);
 }}}

ECMAscriptの関数

関数の定義は次の形式で行う

  • function kansumei ( hikisuu ) {
            ...
    }
  • kansumei の部分は関数名、hikisuuは引数。
  • { と } に挟まれた部分を関数本体という。

関数本体は数行にわたっても良い。

通常、本体の1行目は var 宣言であり、最後は return文である。

本体は右にずらして揃えて書くのがよい。(インデントという)


構文

関数定義

  • function.png

関数から戻る

  • return.png


関数の実行

function ... { ... } が読み込まれた時点では、関数の定義が行われるだけで、本体部分の実行はされない。

関数呼び出しが行われたとき、次の手順で実行される。

  1. 引数の名前と、実際の引数の値が対応づけられる。
  2. 関数本体内の文が順に実行される。
  3. return文が実行されたときは、関数の実行を終わる。値を返す。
  4. 本体の最後まで処理されたときは、関数の実行を終わる。値を返さない。


関数呼び出し

値を利用する関数呼び出し

  • 式の中で関数を記述し、その値を利用できます。
    x = kansu1(...);

値を利用しない関数呼び出し

  • 値を利用しないときは文の形で記述します。
    kansu2(...);

call by value

  • 引数が number, string, boolean のときは call by value である。

call by reference

  • 引数がオブジェクトのときは call by reference である。


次の和を求める。

  • return.png

nを引数として与えて呼び出すとn項目の値を返す関数を定義する。

  • function kou(n) {
        return 1/n;
    }

これを呼び出して1~100項までの和を求める。

  • sum = 0;
    for(i=1; i<=100; i++) {
        sum = sum + kou(i);
    }
    print(sum);

ecma関数 (最終更新日時 2012-10-16 04:15:01 更新者 masahiko)