りよねこたわ~

ロールプレイングゲーム作ってみたいにゃ~でもどうしたらいいのにゃ~?

関数にゃ~

ω・`) 関数は他のプログラミング言語にもでてくるから、復習的な感じでみていこうにゃ~。

 

他の多くのプログラミング言語でするように、 何度も同様な処理を行う場合には、それを関数 (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!"を渡して実行結果を表示させてるにゃ~。

 

ふむふむにゃ~、また一つ賢くなったにゃ~(*´ω`*)