function myFunc(){}
はグローバル関数リテラルであり、すぐに「実行」されるわけではありませんが、前方および後方参照できます。意味:
myFunc(); // this will run
function myFunc(){}
次のように:
myFunc(); // this will **not** run
myFunc = function (){}
2 番目の関数との違いは、a を宣言していないにもかかわらずですvar myFunc =
。これはグローバル変数 (インライン無名関数とも呼ばれます) になります。グローバル インライン関数とは異なり、使用するためには何かの上にある (後方参照される) 必要があります。
function setGloabalVariable(){
window.variable = '1';
// this could have been written
// variable = '1'; var variable = '1';
// unless this function is called in some global scope, the closure won't
// bring out this variable
}
匿名関数は即座に実行されます。それがあなたが考えていることだと思います(ただし、OPにはありませんでした)。
(function () { }());
自己実行匿名関数に関する記事
無名関数は、ローカル/内部スコープを作成しました。名前空間を作成し、グローバル名前空間から遠ざけるのに最適です。