関数テストはクリックされるたびに宣言され、クリック コールバックが実行されて GC されます。dom が複数回クリックされた場合、各クリック コールバックにはもう 1 つの関数宣言があります。関数宣言は存在しないことを覚えています。 jshint の仕様で許可されていますが、ループに書き込む場合も同様の状況ではないでしょうか?では、どう対処するのがベストなのでしょうか? テスト関数の宣言位置を外側に移動すればよいでしょうか? そうするとクロージャが発生し、テスト関数が再利用できなくなります。ユーザーがこのロジックを 1 回しか使用しない場合、明らかに損失です。どうすればよいでしょうか?トレードオフですか? ~
ループと関数には違いがあります。
ループは独立したスコープではないため、ループ内の関数の宣言は事前に宣言されますが、関数内では宣言されません。 jshint が防ぐのは定義の繰り返しです。
リーリーb は関数 a が実行されるときにのみ宣言され、b を指す外部参照がない場合、関数が次のラウンドのリサイクルを実行した後に破棄されます。
実際には大きな違いはありません。
リーリー
テストは使用後廃棄されます。リサイクル不可能ではありません。
一度だけ実行する場合は次のようになります:
リーリー定義された foo は外部の世界に影響を与えません。使用後はすぐにアンインストールし、リサイクルされるまで待ちます。
。メリットと名声を隠してクリーンアップします