JavaScriptの関数について、復習をかねてアウトプットしてみる。
JavaScriptの関数について、学んだので基本的なことですがアウトプットします。
関数の定義方法
var addFunc = function(a,b){ return (a+b); };
関数は必ず値を返す。
var func = function(){ }; console.log(func() === undefind); //=> true
return文を書かなければ、undefindが返される。
関数は第一級関数
第一級関数というのは、
関数を
・変数に代入出来る。
・配列に代入出来る。
・オブジェクトの値として代入出来る。
・関数の戻り値として返すことが出来る。
といったような特徴を持った関数のこと。
つまり、数値とか文字列とかと、同様に使えますよということだと思います。
第一級関数 - Wikipedia
定義した引数の数、渡された引数の数を取得
定義した引数の数は 関数オブジェクト.length
渡された引数の数は 関数内で、arguments.length
var func = function(a,b,c){ console.log(arguments.length); }; console.log(func.length); //=> 3 func(100); //=> 1 func(100,200); //=>2
関数の実行を中断したい
関数の実行中に return文を書けば、実行中断出来る。
var func = function(){ console.log(1); console.log(2); return; console.log(3); console.log(4); } func(); //=> 12
無名関数を即時実行
(function(str){ console.log(str); })("Hello World!!!"); //=> "Hello World!!!";
関数を即時実行したい場合は、括弧に入れる必要がある。
定義前でも、関数は実行出来る。
addFunc(1,2); //=> 3; function add(a,b){ return (a+b); };
コンパイラが、一旦全て解析した後実行するから、出来るみたいです。
開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質
- 作者: Cody Lindley,和田祐一郎
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/06/19
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る