JavaScriptでは、関数を定義して、それを呼び出すことができます。

function定義

function name([parameter [,parameter]...]) {
  statements
}
name

関数の名前を指定する。

parameter

関数の引数を指定する。

JavaScriptで関数を定義する例を次に示す。

function alert_test()
{
  alert("ボタンがクリックされました。");
}

function呼び出し

<script type="text/javascript">
  alert_test();
</script>

HTML要素のイベント属性に指定することもできる。

<button onclick="alert_test();">ボタン</button>

無名関数

JavaScriptは無名関数を定義することができる。

function([parameter [,parameter]...]) { statements }

無名関数の呼び出し方法として、変数を使う方法と即時関数の2通りある。

変数を使って無名関数の呼び出しを行うには、まずfunction定義を変数に代入して、その変数を使ってfunction呼び出しを行う。

<script>
// function定義
var f = function(p) {
  document.writeln('<p>' + p + '</p>');
}

// function呼び出し
f('foo');
</script>

上記サンプルの実行結果を次に示す。

即時関数

即時関数とは、無名関数の定義と呼び出しを同時に行う方法である。即時関数の構文は2通りある。

(function([parameter [,parameter]...]) { statements }());
(function([parameter [,parameter]...]) { statements })();

即時関数のサンプルを示す。

<script type="text/javascript">
(function(){
  document.writeln('<p>即時関数は、functionの定義と呼び出しを同時にできます。</p>');
}());
</script>

上記サンプルの実行結果を次に示す。

Functionオブジェクト

Functionは関数を表すオブジェクトである。実際のところ、JavaScriptにおける関数(function)は、すべてFunctionオブジェクトである。

コンストラクタ

Function([argument [,argument]... ,] functionBody)

プロパティ

Functionオブジェクトのプロパティ一覧
プロパティ 説明
prototype オブジェクトへの参照。オブジェクトにプロパティを作成するときに使用する。

サンプル

<script type="text/javascript">
function func1() {}

func1.prototype.func2 = function(s) {
  document.writeln(s);
};

var f = new func1();
f.func2("new property");
</script>

上記JavaScriptサンプルの実行結果を示す。

スポンサーリンク