前のページ(Hello, variable!)へ / 次のページ(Hello, object!)へ
本段では関数を作ってみましょう。 関数とは処理をまとめる単位です。 繰返し使われる処理を関数に閉じ込めることで、 ソースコードの見通しを良くすることが出来ます。
JavaScriptでは色々なやり方で関数を定義できます。 まずは最も基本的な関数宣言です。 (Hello, function! Sample 1)
<html>
<head>
<script type="text/javascript">
function myHello(){
alert("Hello, function!");
};
myHello();
</script>
</head>
</html>
解説を始めます。
function myHello(){
alert("Hello, function!");
};
のように文頭から function 名前 (引数...){関数本体}; として関数を宣言します。 一度宣言すれば組込み関数と同様に実行することが出来ます。
次は関数式です。 (Hello, function! Sample 2)
<html>
<head>
<script type="text/javascript">
var myHello = function(){
alert("Hello, function!");
};
myHello();
</script>
</head>
</html>
解説を始めます。
function myHello(){
alert("Hello, function!");
};
のように function [名前] (引数...){関数本体} として関数式を定義します。
関数式は変数に代入して 変数 (引数...) と使うことで
何度でも利用することが出来ます。
関数宣言との違いは文頭から function ... と始めると関数宣言、
文頭以外から function ... と始めると関数式となります。
また名前は付けても付けなくても構いませんが、
ここで付けた名前はその関数の関数本体の内部でしか使うことが出来ません。
関数の定義の仕方にはもう一種類あるのですが、
それはまた後で紹介します。
In Deep
名前付き関数式は再帰の際に利用されます。 再帰とは関数の中で自分自身を呼び出すことです。 自分自身の中で自分自身を呼び出すので、 書き方が悪いと無限ループに陥ります。 注意して使ってください。