問題タブ [self-invoking-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
43 参照

javascript - JavaScript でのスコープと自己呼び出しの混乱

この例を見てみましょう:

そして、この関数を呼び出すにはさまざまな方法があります。

最初の 3 行は理解できますが、さらに何が起こっているのか説明してもらえますか (4 行目から 7 行目)。それは紛らわしいです。

0 投票する
1 に答える
411 参照

javascript - JavaScriptの自己呼び出し匿名関数の使用

次のコード ブロックを参照してください。最適なオプションはどれですか? 基本的にみんな同じことをしている

例 1

例 2

例 3

これら 3 つの例を比較すると、次の理由から、自己呼び出し匿名関数 (例 3) を使用することを好みます。

  • 不要な var を作成してメモリを割り当てる必要がない (例 1: 有効、例 2: isValid)

  • 管理と整理が容易になるように、コードを 1 つずつ、またはモジュールごとにきれいに保つ

  • 自己完結型であるため、自己呼び出し匿名関数の外部の変数が汚染されません

上記の点で間違っている場合は訂正してください。また、あなたの好みと理由を教えてください。

0 投票する
0 に答える
26 参照

javascript - これらの括弧は実際にどのように機能しますか?

簡単な質問のはずです。私は最近、プライベート変数を保持するこれらの自己呼び出し関数とクロージャーについて学び始めましたが、今は頭が混乱しています。人々がさまざまな方法でそれを行っているのを目にしますが、これは実際には同じことなのだろうか?

私が理解している限り、最初のものは関数定義の自己呼び出し式であり、2番目のものは自己呼び出し関数定義の式です。しかし、これは正しいのでしょうか?また、違いは何ですか (実際には、技術的またはパフォーマンスにおいて)? これらは両方とも(同じ種類の)閉鎖ですか?

私は経験豊富なプログラマーなので、これがどのように機能するかを知りたいです。ありがとう!