javascript:関数の種類

javascript:関数の種類
javascriptの関数の記述の仕方が何種類かあるので、メモとして。

関数の種類

関数

通常の関数。
function testFnc(n) { 
    //処理内容
} 

名前付き関数

var test = function testFnc(n, u) {
     //処理内容
}
console.log(test.name); // "testFnc"
add(2,4);

無名関数

既存の関数、変数名との衝突の可能性を低減。
var testFnc = function(x) { 
     //処理内容
 } 

コロン関数:連想配列関数

機能分けとかカテゴリー別にオブジェクトを用意するとスッキリ。
var testFnc = {
     hoge: function(n) {
          alert("hoge:" + n);
     },
     add : function(n) {
          alert("add :" + n);
     }
}
//実行はどちらでもOK
testFnc['add']('test');
testFnc.add('test');

即時関数

既存の関数、変数名との衝突の可能性を低減。
(function testFnc() {
  alert(1);
})();

//無名
(function (){
     document.write("Function Sample
");
})();
知ってて当然?初級者のためのJavaScriptで使う即時関数(function(){…})()の全て – 三等兵さんによると、
即時関数とは、 ・関数定義 ・関数呼び出し の2つをまとめて行なうことができるものです。
文字通り、すぐに実行されます。
【メリット】 1. グローバル変数に関数の割り当てがなされない 2. 即時”関数”だから関数内部の変数はローカルに限定される

Functionコンストラクタ経由

既存の関数、変数名との衝突の可能性を低減。
var add = new Function(1,2);

参考サイト

Related Posts