コール関数を表示する必要がない場合は、この機能を実行してください
1。序文
関数を最初に定義してから使用する必要があります。 これは基本的に、すべてのプログラミング言語のすべての鉄の法則です。
一般に、JavaScript関数を呼び出す必要があります。 例を見てください
コードは次のとおりです。
次のようにコードコードをコピーします。
<
<html>
<head>
<メタhttp-equiv = "content-type" content = "text/html; charset = utf-8">
<title> say hello </title>
</head>
<body>
<スクリプト>
//関数を定義します
function sayhello()
{{
アラート( "hello");
}
//関数を呼び出します
sayhello();
</script>
</body>
</html>
ただし、コール関数を表示する必要がない場合、定義されたときにこの関数をどのように実行できますか?
2。考えているコース
上記の例から判断すると、上記の使用ステータスを考えることができる賢いもの:
=== function関数名の後ろに大きな括弧を追加して大きなブラケットを追加する時はありますか? 次のように:
コードは次のとおりです。
次のようにコードコードをコピーします。
function sayhello()
{{
アラート( "hello");
}();
残念ながら、上記の記述では、JSの構文エラーが報告されます。
JavaScriptのパーサーは、アナライザーがグローバル関数または関数内部関数キーワードを分析するときに、関数式ではなく、デフォルトで大きなブラケットをデフォルトで分析します。
言い換えれば、最終的な大きなブラケットのペアはデフォルトで名前を欠く関数に分析され、関数ステートメントに名前が必要なため構文エラーメッセージがスローされます。
===「あなたはそれについてもう一度考えるかもしれません、私がブラケットのパラメーターを渡すと、それは式に解析されますか?
コードは次のとおりです。
次のようにコードコードをコピーします。
function sayhello()
{{
アラート( "hello");
}(1);
確かに、エラーはなくなりました。 しかし、上記の執筆は、次の方法の効果と同等です
コードは次のとおりです。
次のようにコードコードをコピーします。
function sayhello()
{{
アラート( "hello");
};
(1);
これらの2つの文には何の関係もありません、機能はまだ実行されません
3。正しい書き込み
javascriptの場合、bracket()はステートメントを含めることができないため、この時点で、関数キーワードを解析するとき、パーサーは関数式の代わりに関数式に分析します(関数部分と後者を含みます。ブラケット)。
コードは次のとおりです。
次のようにコードコードをコピーします。
(function sayhello()
{{
アラート( "hello");
}());
別の執筆方法も可能です。つまり、後者の後ろの括弧、
コードは次のとおりです。
次のようにコードコードをコピーします。
(function sayhello()
{{
アラート( "hello");
})();
最初の方法が推奨されます。
しかし、現在、多くのより良いJSライブラリが2番目の方法を使用しています。
例:drawn:git、draw2d、...