Javascriptにおける匿名関数の様々な呼び出し方法

1732 ワード

同名の文章「Javascriptにおける匿名関数の複数の呼び出し方法」からコピーします.
方式1で、関数を呼び出して、戻り値を得る.強制演算子は、関数呼び出しを実行させます.
(function(x,y){
    alert(x+y);
    return x+y;
}(3,4)); 
方式2で、関数を呼び出して、戻り値を得る.関数の直接量を強制して実行し、参照を返して実行を呼び出します.
(function(x,y){
    alert(x+y);
    return x+y;
})(3,4);
このような方法も多くのライブラリの愛用されています.例えば、jQuery、Mootools.
方式3は、voidを使用します.
void function(x) {
      x = x-1;
      alert(x);
}(9);
を選択します.
-function(x,y){
    alert(x+y);
    return x+y;
}(3,4);

+function(x,y){
    alert(x+y);
    return x+y;
}(3,4);

--function(x,y){
    alert(x+y);
    return x+y;
}(3,4);

++function(x,y){
    alert(x+y);
    return x+y;
}(3,4);
方式5でウェーブ記号(~)を使用します.
~function(x, y) {
    alert(x+y);
   return x+y;
}(3, 4);
方式6で、匿名関数実行は中かっこに入れる.
[function(){
   console.log(this) //          window
}(this)]
方式7で、匿名関数の前にtypeofを追加します.
typeof function(){
   console.log(this) //          window
}(this)
方式8、匿名関数の前にdeleteを追加します.
delete function(){
   console.log(this) //          window
}(this)
方式9で、匿名関数の前にvoidを追加します.
void function(){
consolie.log(this)/ブラウザのコンソール出力window"(this)
方式10、new方式を使用して、参
new function(win){
   console.log(win) // window
}(this)
方式11,newを使用して、参
new function(){
    console.log(this) //    this   window 
}
方式12、コンマ演算子
1, function(){
    console.log(this) // window
}();
方式13、ビット別または演算子
1^function(){
    console.log(this) // window
}();
方式14、比較演算子
1>function(){
    console.log(this) // window
}();