JavaScriptでは、関数を定義して、それを呼び出すことができます。
function name() {
// statements
}
function name(parameters) {
// statements
}
JavaScriptで関数を定義する例を次に示す。
function alert_test() {
alert("ボタンがクリックされました。");
}
<script>
alert_test();
</script>
HTML要素のイベント属性に指定することもできる。
<button onclick="alert_test();">ボタン</button>
JavaScriptは無名関数を定義することができる。
function() {
// statements
}
function(parameters) {
// statements
}
無名関数の呼び出し方法として、変数を使う方法と即時関数の2通りある。
変数を使って無名関数の呼び出しを行うには、まずfunction定義を変数に代入して、その変数を使ってfunction呼び出しを行う。
<script>
// 関数の定義
var f = function(p) {
document.writeln('<p>' + p + '</p>');
}
// 関数の呼び出し
f('foo');
</script>
即時関数とは、無名関数の定義と呼び出しを同時に行う方法である。即時関数の構文は2通りある。
(function(parameters) {
// statements
}());
((function(parameters) {
// statements
})();
即時関数のサンプルを示す。
<script>
(function(){
document.writeln('<p>即時関数は、functionの定義と呼び出しを同時にできます。</p>');
}());
</script>
Functionは関数を表すオブジェクトである。実際のところ、JavaScriptにおける関数(function)は、すべてFunctionオブジェクトである。
Function([argument [,argument]... ,] functionBody)
プロパティ | 説明 |
---|---|
prototype | オブジェクトへの参照。オブジェクトにプロパティを作成するときに使用する。 |
<script>
function logging() {}
logging.prototype.console = function(s) {
console.log("info: " + s);
};
var f = new logging();
f.console("Hey Diddle Diddle");
</script>