トップページ >  JavaScript >  関数の宣言
初版2008/09/25: 最終更新日2013/01/13
  関数の宣言
目次
関数の宣言
関数に引数を指定する
関数の引数に関数オブジェクトを指定する
関数の名前付き引数
関数の宣言
関数を宣言するには以下のように宣言します。

function a(){
    alert("a");
}

aは関数名です。a();とすることで使用できます。
関数はオブジェクトなので以下のように宣言することも出来ます。

var rc = function (){
    alert("rc");
};

これは無名関数ですがrcに関数を代入しているので、rc();とすることで使用できる関数です。

以下、関数を呼び出す例です。





以下、ソースです。

<script type="text/javascript">
<!--
function a(){
    alert("a");
}
var rc = function(){
    alert("rc");
};
// -->
</script>

<input type="button" value="a()を呼び出す" onclick="a();">
<input type="button" value="rc()を呼び出す" onclick="rc();">

関数に引数を指定する
JavaScriptの関数に引数を指定するには以下のように宣言します。

function a(param){
    alert(param);
}

関数名が同じで、引数が異なる場合、後で宣言した関数のみが有効になります。
Javaのように異なる関数としては扱われません。

また、JavaScriptでは引数の数をチェックしないため、関数を呼び出す際に、引数の数が違ってもエラーとはなりません。
引数が渡されない場合はundefinedとなるだけです。以下、例です。







以下、ソースです。

<input type="button" value="c()" onclick="c();" /><br /><br />
<input type="button" value="c(2)" onclick="c(2);" /><br /><br />
<input type="button" value="c(2,3)" onclick="c(2,3);" /><br /><br />
<script type="text/javascript">
<!--
function c(val){
    alert(val);
}

// -->
</script>

関数の引数に関数オブジェクトを指定する
関数の引数に関数オブジェクトを指定することが出来ます。
これは、文字列オブジェクトと同じように関数もオブジェクトであるためです。
以下、関数b()の引数に、関数fnc()を指定してる例です。



以下、ソースです。

<script type="text/javascript">
<!--
function b(fnc){
    var x=3,y=5
    alert(fnc(x,y));
}
function fnc(a,b){
    return a + b;
};
// -->
</script>

関数の名前付き引数
JavaScriptの関数は名前をつけることができます。関数の呼び出しは以下のように記述します。



d({name:"太郎",age:20})

{と}を抜けるとChrome23ではエラーが出ます。上記では引数にnameとageという名前をつけています。
これで変数の意味がわかりやすくなります。このような変数を名前付き変数と言います。
関数の宣言は以下のように記述します。

function 関数名(仮引数){
    仮引数.名前付き変数
}

以下、ソースです。

<input type="button" value='d({name:"太郎",age:20})' onclick='d({name:"太郎",age:20});' />
<script type="text/javascript">
<!--
function d(v){
    alert(v.name);
    alert(v.age);
}
// -->
</script>