ω・`) 関数は他のプログラミング言語にもでてくるから、復習的な感じでみていこうにゃ~。
他の多くのプログラミング言語でするように、 何度も同様な処理を行う場合には、それを関数 (function) として作成し、 再利用可能なようにします。
JavaScript での関数は関数オブジェクト (Function object) として作られます。
関数を定義するには次のように書くにゃ~。
function 関数名 () {
処理
}
具体的には、例えば foo という名前の関数を作るには次のようにします。
function foo() { document.write('foo!<br>'); } document.write( typeof(foo) + '<br>' ); foo();この実行結果は次のようになります。
function foo!確かに foo 関数が実行され、"foo!" という文字が出力されていますね。
1行目から3行目は、関数foo()を定義してるにゃ~。4行目は対象となる値のデータ型を表す文字列を返しているにゃ~。
fooは関数と定義されてるから、関数を表すfunctionを返しているのかにゃ~。
5行目は関数foo()の実行結果を表示しているにゃ~。
また、次のように関数オブジェクトを書くこともできます。
var bar = function(s) { document.write('[bar] '+s+'<br>'); }; document.write( typeof(bar) + '<br>' ); bar('Hello!');実行結果は次のようになります。
function [bar] Hello!
1行目から3行目は、function(引数)で関数オブジェクトを作って、そのオブジェクトをbarという名前の変数に代入してるにゃ~。
ω・`) でもこれ関数に名前付いてないにゃ~。無名関数や匿名関数といわれるらしいにゃ~。
4行目は、barのデータ型を返すんにゃけど、barには関数が代入されているから関数を表すfunctionを返しているにゃ~。
5行目は、bar("Hello!")とすることで、barに代入されてる関数に引数"Hello!"を渡して実行結果を表示させてるにゃ~。
ふむふむにゃ~、また一つ賢くなったにゃ~(*´ω`*)