最近、他の人のコードで次のような関数を見ました。
function xyz(){ //function code here ;
} ();
();
関数定義の後がわかりません。
();
JavaScript の意味と、いつ使用する必要があるか教えてもらえますか?
最近、他の人のコードで次のような関数を見ました。
function xyz(){ //function code here ;
} ();
();
関数定義の後がわかりません。
();
JavaScript の意味と、いつ使用する必要があるか教えてもらえますか?
あなたが示すコードはコンパイルされません。
括弧を追加すると、これは名前付きのすぐに呼び出される関数になります。
(function xyz(){ //function code here ;
}) ();
ほとんどの場合、これらの関数は匿名です:
(function(){
var a; // a isn't visible outside
// code using a
})();
コードは関数定義なしで直接呼び出されますが、そのような関数のポイントは、スコープの変数が外側の変数でリークしないようにスコープ (グローバル スコープまたは関数のみ) を定義することです。このパターンは、コードをきれいにするのに非常に役立ちます。外側のスコープに変数を追加せず、既存の変数を消去することはできません。
ここで、関数には名前もあり、内部で再帰に使用できます。
(function xyz(){
var a; // a isn't visible outside
// code using a and calling xyz
})();