pig's diary

何でも忘れるので万年初心者ね

関数リテラル == 宣言関数 * 無名関数 の巻き

宣言関数

function yeah(){
	alert('yeah!');
}

無名関数

new Function('alert("yeah!!")'); //正直な話何もおこらない

function(){alert('yeah!');}      //これはエラー。たぶんfunctionが演算子扱いとみなされ。

関数リテラル

var yeah = Function('alert("yeah!!")');    // OK

var yeah2= function(){ alert('yeah!!'); }; // OK(ポピュラー)

yeah(); //yeah!!

(ちなみに)関数リテラルで名前つける==再帰で使う用オンリー

var yeah = function woo(){
	alert('yeah!!');
	woo();
};

woo();  //not definedと怒られる

yeah(); //無限ループ! ・・・号泣する準備はできていた