js 関数即時実行を使用すると、関数を作成後すぐに実行できます。 js 関数即時実行モードは、関数を定義後すぐに実行できるようにする構文です。このモードは、基本的に関数式 (名前付きまたは匿名) であり、直後に実行されます。創造。 JavaScript は他のプログラミング言語に比べて比較的カジュアルな言語であるため、JavaScript のコードにはさまざまな奇妙な記述方法が含まれており、時々霧の中に現れます。もちろん、さまざまな記述方法を理解できることは、さらに深い理解になります。 JavaScript 言語の特徴について説明します。この記事では主に JavaScript の関数の即時実行に関する関連情報を紹介します。必要な方は参考にしてください。
はじめに
( function(){…} )() と ( function (){…} () ) は、関数をすぐに実行する JavaScript 関数を記述する 2 つの一般的な方法です。最初は、これがラップされた匿名関数だと思いました。括弧内に括弧を追加して関数を呼び出すことで、最終的に関数を定義した直後に実行するという目的が達成されます。括弧を追加した理由は同じではないことが後で判明しました。
以下で言うことはあまりありません。詳細な紹介を見てみましょう。
通常、関数は次の方法で宣言します:
// 声明函数f1 function f1() { console.log("f1"); } // 通过()来调用此函数 f1(); //一个匿名函数的函数表达式,被赋值给变量f2: var f2 = function() { console.log("f2"); } //通过()来调用此函数 f2(); //一个命名为f3的函数的函数表达式(这里的函数名可以随意命名,可以不必和变量f3重名),被赋值给变量f3: var f3 = function f3() { console.log("f3"); } //通过()来调用此函数 f3();
いくつかのカスタム コントロールを見たことがある方は、ほとんどがこの書き方に従っていることに気づくでしょう:
(function() { " // 这里开始写功能需求 })();
これは、私たちがよく即時実行関数と呼ぶものです ( IIFE) は、名前が示すように、この関数が関数本体を即座に実行し、それを積極的に呼び出す必要がないことを意味します。一般に、これには 2 つの目的があります。関数に名前を付ける必要がないため、グローバル変数の汚染が回避されます。第 2 に、IIFE は内部で別のスコープを形成し、外部から読み取れないいくつかのプライベート変数をカプセル化できます。
これら 2 つの文が理解できない場合は、IIFE の動作原理から始めましょう。
IIFE は通常匿名関数に使用されるため、ここでは例として単純な匿名関数を使用します:
var f = function(){ console.log("f"); } f();
ここでの f はこの匿名関数の単なる参照変数であることがわかりました。そのため、 f() はこの関数を呼び出すことができます。 、 f を入力しました。関数自体に置き換えることはできますか:
function(){ console.log("f"); }();
Uncaught SyntaxError: Unexpected token (
function myFunction () { /* logic here */ }
2. 関数式 (この形式に似ています)
var myFunction = function () { /* logic here */ }; var myObj = { myFunction: function () { /* logic here */ } };
1+(2+3) //这里先运行小括号里面的内容没有意见撒
実際、JavaScript エンジンは関数キーワードを見つけると、それが関数宣言ステートメントであると判断します。では、JavaScript エンジンが最初に括弧を見た場合はどうなるでしょうか。
//用小括号把函数包裹起来 (function(){ console.log("f"); })();
f //控制台输出
!function(){}(); +function(){}(); -function(){}(); ~function(){}(); new function(){ /* code */ } new function(){ /* code */ }() // 只有传递参数时,才需要最后那个圆括号。 ……
(function($){ " //插件实现代码 })(jQuery);
JavaScript は関数をすぐに実行します: プラグインの function(){}()、もう一度考えてください
JavaScript の即時実行関数
関連する推奨事項:
関数の接頭演算子を解析して即時実行機能を実装
JavaScriptの匿名関数、名前付き関数、即時実行関数IIFEの詳細説明
以上がJavaScript での関数の即時実行の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。