ECMAScript arguments オブジェクト
- 前のページ switch文
- 次のページ argumentsオブジェクト
関数とは何ですか?
関数はどこでもいつでも実行できるコードのセットです。
関数は ECMAScript の核心です。
関数は、以下のように宣言されます:キーワード function、関数名、引数のリスト、括弧内の実行されるコード。
関数の基本的な文法は以下のようです:
function functionName(arg0, arg1, ... argN) { statements }
例えば:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage); }
関数はどう呼び出すのでしょうか?
関数は、名前と括弧内の引数(複数の場合もあります)で呼び出されます。
上記の例の関数を呼び出したい場合は、以下のコードを使用できます:
sayHi("David", " Nice to meet you!")
上記の関数 sayHi() を呼び出すと、警告ウィンドウが生成されます。あなたはこの例を自分で試してみてください。
関数はどうやって値を返すのでしょうか?
関数sayHi()は値を返さないが、特別に宣言する必要はありません(Javaでvoidを使用するように)。
関数が実際に値を持っている場合でも、明示的に宣言する必要はありません。関数は、return演算子の後ろに値を付けるだけで十分です。
function sum(iNum1, iNum2) { return iNum1 + iNum2; }
以下のコードでは、sum関数が返す値を変数に割り当てます:
var iResult = sum(1,1); alert(iResult); //"2"を出力"
また、Javaと同様に、関数はreturn文が実行された後すぐにコードの実行を停止します。したがって、return文の後のコードは実行されません。
以下のコードでは、alertウィンドウは表示されません:
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2); }
関数には複数のreturn文を持つことができます。以下のように:
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } else { return iNum2 - iNum1; } }
上の関数は、二つの数の差を返すために使用されます。これを実現するには、大きな数から小さな数を引く必要があるため、if文を使用してどのreturn文を実行するかを決定します。
関数が戻り値を持たない場合、return演算子を引数なしで呼び出すことで、関数からいつでも退出することができます。
例えば:
function sayHi(sMessage) { if (sMessage == "bye") { return; } alert(sMessage); }
このコードでは、sMessageが"bye"に等しい場合、警告ボックスは表示されません。
注記:関数が明確な戻り値を持たない場合、または引数のないreturn文を呼び出した場合、実際に戻る値はundefinedです。
- 前のページ switch文
- 次のページ argumentsオブジェクト