おさらいまでに、関数 とは一連の処理をひとつにまとめたものをいいます。
関数については先ほどご紹介しているので下記を参考にしてください。
これまでは関数を実行する際は、スクリプトエディタのツールバーの「関数を選択」のプルダウンで選択した関数から実行してきました。
実は、関数は「関数を選択」で選択して実行するだけでなく、関数名で 別の関数から呼び出す ことができます。
関数名()
次のサンプルは他の関数を呼び出す例です。myFunc_1
を実行すると、ログには「おはようございます!」と「こんにちは!」、「こんばんは!」が出力されます。
function myFunc_1() {
console.log('おはようございます!');
myFunc_2(); // myFunc_2関数を呼び出す
console.log('こんばんは!');
}
function myFunc_2() {
console.log('こんにちは!');
}
おはようございます!
こんにちは!
こんばんは!
JavaScriptにおいて関数はオブジェクトとして扱われます。
そのため、他のオブジェクトと同じように引数として関数に渡したり、変数に代入したりすることができます。
重要なポイントとして押さえてほしいのは、関数の「呼び出し」と「参照」がしっかり区別されるということです。
関数名に()をつけることでその関数の呼び出しとなり、関数が実行されて値が返されます。
一方、()をつけずに関数名だけを書くと、その関数を参照しているだけになります。
また、関数は参照されるだけで実行されません。
次の例はgetMessage()
で関数の「呼び出し」を行い、
getMessage
で関数の「参照」を行っています。
このように関数を呼び出さずに参照することができるのですが、
この関数の「参照」を利用することでオブジェクトとして扱うことができます。
(オブジェクトについては次章
で解説します。)
function getMessage() {
return 'Hello!';
}
console.log(getMessage()); // Hello!
console.log(getMessage); // [Function: getMessage]
function getMessage() {
return 'Hello!';
}
var message = getMessage; // 関数をmessage変数に代入
console.log(message()); // Hello!
同じプロジェクト内であれば、別のgsファイルに記述した関数も呼び出すことができます。