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);
参考サイト