ホームページ  >  記事  >  ウェブフロントエンド  >  js関数の呼び出し方_基礎知識

js関数の呼び出し方_基礎知識

WBOY
WBOYオリジナル
2016-05-16 16:49:441135ブラウズ

Js 関数を呼び出す方法は次のとおりです。

(1) 名前付き関数は

コードをコピー コードは次のとおりです:

関数 foo ()
{
}
foo();

(2) 匿名関数は参照によって呼び出されます

コードをコピー コードは次のとおりです:

fooRef = function()
{
}
fooRef();

(3) 参照なしの匿名関数呼び出し 1

コードをコピー コードは次のとおりです。

(function()
{
}());

(4) 参照なしの匿名関数呼び出し 2

コードをコピー コードは次のとおりです。

(function()
{
})();

(5) 参照なしの匿名関数呼び出し 3

コードをコピー コードは次のとおりです。

void function()
{

}();


js関数の呼び出し方_基礎知識

図 1.1 と図 1.2 は、これら 2 つの式の演算プロセスが異なることを示しています。図 1.1 では、強制演算子を使用して関数呼び出し演算を実行しますが、図 1.2 では、強制演算子を使用して "関数を直接「数量」で宣言し、関数自体への参照を返し、関数呼び出し操作「()」を通じて関数参照を操作します。上記の最後の匿名関数呼び出し void function(){}(); は、関数を呼び出し、戻り値を無視するために使用されます。演算子 void は、後続の関数式で演算を実行するために使用されます。 「void」と強制操作「()」を使用しない場合、コードは実行できます:

(1)function(){}() //呼び出しを強制するには ''()" を使用します

(2)function(){}() //「;」を使用してステートメントを実行します

スクリプト エンジンは function(){} が関数宣言であると認識するため、構文検出に失敗し、コードは次のように解析されます。

関数(){};();

function(){} はステートメントとして解釈されますが、「();」は別の行として解釈されるため、構文エラーが報告されます。なぜ「();」が原因であることがわかりますか。 ?これを次のコードに変更します:

関数(){}(1);

これはエンジンによって次のように解釈されます:

関数(){};

(1) //単一値式

これで文法チェックに合格しました...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。