ホームページ >ウェブフロントエンド >jsチュートリアル >JS 匿名関数を理解する方法
匿名関数の基本的な形式は (function(){...})(); 最初のかっこには関数本体が含まれており、次のかっこは匿名関数にパラメータを渡してすぐに実行する関数です。匿名関数は、グローバル変数の汚染と関数名の競合を避けるためのものです。
1. かっこの役割
Pennacles は式の組み合わせをブロックに分割することができ、各ブロック、つまりかっこの各ペアが戻り値を持ちます。この戻り値は、実際には括弧内の式の戻り値です。したがって、一対のかっこを使用して無名関数を囲むと、一対のかっこが実際に返すものは、匿名関数の Function オブジェクトになります。したがって、かっこのペアと匿名関数は、名前付き関数と同様に参照されます。したがって、この参照変数の後にパラメータリストを追加すると、通常の関数の呼び出し形式になります。
簡単に言えば、括弧には括弧内の関数または式の戻り値があるため、括弧内の関数の戻り値は括弧の戻り値と等しくなります
2.匿名関数を作成します
方法 1、関数を呼び出して戻り値を取得します。強制演算子により、関数呼び出しが実行されます
(function(x,y){
alert(x+y);
return x+y;
}(3,4));関数を呼び出して戻り値を取得します。関数を強制的に直接実行してから参照を返し、その参照を呼び出して実行します
(function(x,y){
alert(x+y);
return x+y;
})( 3,4) ;
このメソッドは、jQuery や Mootools などの多くのライブラリで使用されるお気に入りの呼び出しメソッドでもあります。
方法 3、void
void function(x) を使用します {
x = x-1;
alert(x);
}(9);
方法 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);
++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) // ブラウザはコンソールウィンドウを出力する必要があります
}(this)]
方法 7、匿名の前に typeof
typeof function(){
console を追加しますfunction .log(this) // ブラウザはコンソール ウィンドウを出力する必要があります
}(this)
方法 8、匿名関数の前に delete を追加します
delete function(){
console.log(this) //ブラウザはコンソール出力ウィンドウ
}(this)
メソッド 9、void
void function(){
console.log(this) // 匿名関数の前に追加する必要があります
メソッド 10、新しいメソッドを使用します。パラメータを渡す
new function(win){
console.log(win) // window
}(this)
方法 11、new を使用し、パラメータを渡さない
new function(){
console. log(this) // これは window
ではありません}
メソッド 12、カンマ演算子
function(){
console.log(this) // window
}();
モード 13、ビット単位XOR 演算子
^function(){
console.log(this) // window
}();
モード 14、比較演算子
function(){
console.log(this) // ウィンドウ
}();
最後に、間違った呼び出しメソッドを見てみましょう
function(x,y){
alert(x+y);
return x+y;
}(3,4);
匿名関数の書き方は次のとおりです匿名関数には実際の名前もポインタもありません。どうやって実行するのでしょうか? 匿名関数の書き方については、かなり多岐に渡ります〜 +記号は関数宣言を関数式に変換することです。 の最も一般的な使用法をまとめてみましょう: コードは次のとおりです: (function() { alert('water'); })(); もちろん、次のようにすることもできます。パラメータ: コードは次のとおりです: (function(o) { alert(o); })('water'); 匿名関数のチェーン呼び出しを使用したいですか?非常に単純です: コードは次のとおりです: (function(o) { console.log(o); return argument.callee; })('water')('down'); 共通の匿名関数は誰もが知っていますが、珍しい関数を見てみましょう: コードは次のとおりです: ~(function(){ alert('water'); })() ;//文章はちょっとかっこいいですね〜 コードは次のとおりです: void function(){ alert('water') }();//これが最も効率的と言われています~ コードは次のとおりです: +function(){ alert('water' ) }(); コードは次のとおりです: -function(){ alert( '水'); }(); コードは次のとおりです: !function(){ } (); コードは次のとおりです: (function() {alert('water');
}());//ちょっと強制的な感じですね~
関連おすすめ:
以上がJS 匿名関数を理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。