JavaScript関数の名前の前にプラス

この翻訳から:関数名の前にはJavaScriptプラス記号

私は自己に関する情報に見てきた -invoking機能、そしてどこかに私はこの表記につまずいた: 私は呼び出し機能からの情報を探していた、どこかに私はこの表記法に出くわし:

+function(){}

私の誰かに何CANにEXPLAIN +?ない/機能の手段の前にログイン 缶誰かが私には以前の機能説明+数は、どのような手段がありますか?


#1階

参考:https://stackoom.com/question/tymg/プラスJavaScript関数名の前に


ハウス#2

パーサで強制的には、以下のパートでITを治療するために、+AS AN式。 これは、パーサは強制的に+表現の一部とみなされます。 これは通常されている機能のために使用されるなど、すぐに呼び出さ: 通常例えば、即時関数の呼び出し:

+function() { console.log("Foo!"); }();

なければ+そこに、IFザ・パーサは、ITが声明を期待APOS A国(またはいくつかの非表現文表現することができる)であり、Wordはfunction、関数の先頭のように見える宣言の最後のA関数の中でむしろ表現とSO ()IT以下(の終わりのもの (この例では名前の不在、同じように)上記の行)は、構文エラーになります。 そうでない場合は+そこに、パーサは文はそれを楽しみにしている場合(表現することができ)非式またはステートメントのいくつかの、ステータスワードのfunction関数のように見える宣言はむしろ、機能よりも、始まり表現、およびので、()後者の()期間(トップ行の末尾)は、構文エラーになります(この例では、名前がありませんそう)。 するAT+、それは、その関数式になり名はオプションと括弧が有効であるので、呼び出すことができる機能、を基準にした結果であることを意味している。 使用 +、その関数式作り、名前があることを意味します関数への参照で選択し、その結果を、参照が呼び出され、したがって、括弧に有効であることができます。

+それは選択肢の一つです。 +オプションのだけの1。 また、ITをすることができ-! かもしれ- ! ~。単項演算子について、またはその他のジャスト ~またはほとんどすべての他の単項演算子。 代わりに、あなたは(これは括弧を使用することができます 。より一般的ですが、過不足なく正しい構文的に) または、あなたは括弧を使用することはできません(より一般的ですが、構文も正しいで正しいもありません):

(function() { console.log("Foo!"); })();
// or
(function() { console.log("Foo!"); }());

ハウス#3

子会社へ@ TJCrowder APOS答えは、+鋳造数値Aに使用される力通常ASは、このSOの答えに躊躇しない 、答え提携@TJCrowder このSOの答えは説明したように+一般的に鋳造力の値に使用されています。 この例では、「と呼ばれている (グーグルを容易にするため)単項プラス演算子」。 この場合、それは「単項プラス演算子」(Google検索を容易にするため)と呼ばれています。

var num = +variant;

そう関数の前にそれができ数として解釈されるべき関数の結果を強制する方法である。 したがって、上記の関数は、数値として解釈結果の関数を強制する方法で使用することができます。 私はそれがまだ起こる疑うが、理論的には JITが大きく式で使用する場合単項プラス連結さを防ぐために、しかし、数値のみの関数などとしての機能をコンパイルすることを使用することができ、あなたは括弧が必要になります: 私はそれを疑いますそれが起こるのだろうかどうかが、理論的には、JITコンパイラは、デジタル専用機能などとしての機能にそれを使用することができます。しかし、より大きな式のシリーズ単項プラスを防ぐために、あなたは括弧を使用する必要があります。

blah + (+(function(){ var scope; return "4"; })());

#4階

短い答えは、それがないようにということであるので、一つの方法または別の関数の結果を使用することによって、構文エラーが。 短い答えはあるので、1つのまたは別の方法で、関数の結果を使用するために、構文エラーを防止することができます。

また、あなたがで使用しても、戻り値の中で興味がないことをあなたによってエンジンCANに指示でvoidオペレータ: あなたはまた、使用することができvoid、オペレータが、あなたも、戻り値に興味を持っていないことをエンジンに指示します。

void function() { console.log("Foo!"); }();

もちろん、全体の周りにカッコを置く事も、その目的を果たす。 もちろん、ブラケット上のオブジェクト全体にも、この目的を達成することができます。

オリジナルの記事は、0公表 ウォン称賛73 ビュー560 000 +を

おすすめ

転載: blog.csdn.net/w36680130/article/details/105366866