[解決済み] 無名JavaScript関数を自動実行する際の括弧の位置は?
2022-11-21 07:06:51
質問
私は最近、現在のバージョンの json2.js と私がプロジェクトで使用していたバージョンを比較したところ、関数式が作成され、自己実行される方法の違いに気づきました。
無名関数を括弧でくくり、それを実行するコードです。
(function () {
// code here
})();
となっていましたが、自動実行される関数を括弧で囲むようになりました。
(function () {
// code here
}());
の受付回答には、CMSのコメントがあります。
JavaScriptのカプセル化された匿名関数の構文について説明してください。
という「両方」の
(function(){})();
と
(function(){}());
は有効です。"
と思っていたのですが、何が違うのでしょうか? 前者は、グローバルな無名関数を囲んでおくことでメモリを消費するのでしょうか? 括弧はどこにあるべきでしょうか?
どのように解決するのですか?
ほとんど同じです。
最初のものは、関数を括弧で囲んで有効な式とし、それを呼び出しています。式の結果は未定義です。
2番目は関数を実行し、自動起動の周りの括弧がそれを有効な式にします。また、評価結果はundefinedとなります。
式の結果は同じなので、"正しい"という方法はないと思います。
> function(){}()
SyntaxError: Unexpected token (
> (function(){})()
undefined
> (function(){return 'foo'})()
"foo"
> (function(){ return 'foo'}())
"foo"
関連
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み] Javascriptのファイル全体を「(function(){ ... })()」のような無名関数で囲むのは何のためでしょうか?
-
[解決済み] javascriptの自己実行型関数の目的は何ですか?
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
-
[解決済み】JavaScriptのクロージャと無名関数の比較
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] 兄弟ノードを選択する方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?