問題タブ [self-executing-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 投票する
3 に答える
1005 参照

javascript - 自己実行関数でシャドウ変数にアクセスする

次の例では、someFunction内からsomeFunctionの外部で宣言されたsomeValue変数への参照を取得する方法はありますか、それとも同じ名前関数のパラメーターによって完全に隠されていますか。これを使ってウィンドウにアタッチして関数内からアクセスできるのはありがたいのですが、このような状況でアクセスする方法はありますか?

[編集]明確にするため。パラメータが変数をシャドウイングしていることを理解しています。明らかに、パラメータの名前を変更すると、この問題は解消されます。私の質問は、この状況で変数にアクセスする方法があるかどうかです。

0 投票する
2 に答える
998 参照

javascript - 変数がグローバルである場合、javascript の自己実行関数に引数を渡す必要があるのはなぜですか?

underscore.js ライブラリ(jQuery は同じことを行います)のコードを見ていて、ウィンドウ オブジェクトが自己実行関数に渡される理由を明確にしたかっただけです。

例えば:

グローバルなのでthis、なぜ関数に渡されるのですか? 以下も同様に機能しませんか?このようにすると、どのような問題が発生しますか?

0 投票する
4 に答える
610 参照

javascript - 自己呼び出し関数を使用して変数に依存しない

重複の可能性:
ループ内のJavascriptクロージャ-簡単な実用例

objectsの各関数が異なるメッセージを返すように、自己呼び出し関数を使用しようとしています。

これまでのところ、上記の結果は次のようになります。

私はオブジェクト10です

私はオブジェクト10です

私はオブジェクト10です

私はオブジェクト10です

私はオブジェクト10です

私はオブジェクト10です

私はオブジェクト10です

私はオブジェクト10です

私はオブジェクト10です

私はオブジェクト10です

自己呼び出し関数を使用して、メッセージをすぐに設定し、不安定なものに縛られないようにするにはどうすればよいiですか?

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

javascript - プロトタイプ自己実行メソッドからのメソッド呼び出し

プロトタイプがjsでどのように機能するかを実際に理解しようとしています。私は現在、ループに基づく小さなゲーム プロジェクトに取り組んでいます。

一度インスタンス化され、それが定義するループ メソッドを呼び出して起動するゲーム オブジェクト インスタンスが必要です。

私が取得しようとしているのは、次のようなものです:

明らかに、これは機能しません。開始時に自己実行関数を使用して自動的に起動するため、「this」キーワードは Game オブジェクトではなくウィンドウ オブジェクトを表します。

新しい Game オブジェクトをインスタンス化した後に手動で start メソッドを呼び出す必要がないようにする方法はありますか?

ありがとう

0 投票する
4 に答える
10519 参照

javascript - 自己実行無名関数とは何ですか、またはこのコードは何をしていますか?

誰かが私がここで何が起こっているのかを理解するのを手伝ってもらえますか?をnotGlobalFunction()呼び出すと、2番目の関数が呼び出されるだけです。

しかし、何をしているのvar module = {}でしょうか?そして、なぜそれが最初の関数内で再び呼び出されるのですか?

これは一般に自己実行型の無名関数として知られていると言われていますが、それが何を意味するのかはよくわかりません。

0 投票する
2 に答える
373 参照

jquery - 他の匿名の自己実行関数でjQuery.readyを使用するにはどうすればよいですか?

自己実行型の無名関数について読むほど、混乱します:)

私の質問は、jQueryのdocument.ready関数を使用する場合、アプリロジック全体をその関数内に配置する必要がありますか?他の自己実行型の無名関数にコードがある場合、document.ready呼び出し内からそのコードをトリガーするにはどうすればよいですか?(グローバル名前空間に変数を入れずに?)

Document.readyコード:

海の中での私のアプリロジック:

0 投票する
4 に答える
3006 参照

javascript - 自己実行関数の引数を変更する

自己実行関数に渡される引数を変更できるようにしたいと考えています。

サンプルコードは次のとおりです。

そして、ここにフィドルがあります。変数testは変更されていません。参照渡しのように、どうすれば変更できますか?