2016-08-17 9 views
0

は、次のことを考えると?パーサーは次の式をどのように解析しますか?new init()?</p> <pre><code>function init() { return 1; } </code></pre> <p>どのようにパーサが</p> <pre><code>new init(); </code></pre> <p>を解析ん:

私はinit()機能がnewと一緒に機能する理由を意味しますか?機能が独立して呼び出されなかったのはなぜですか?

+0

ここから最初に基本的な研究を始める必要があります(http://stackoverflow.com/questions/4212149/init-function-in-javascript-and-how-it-works) – emotionlessbananas

+0

@AsteriskNinja:私はしませんその投稿がその質問と関係しているものを見てください。 – Bergi

答えて

0

なぜ機能が独立して呼び出されなかったのですか?

単純にルールであるためです。 new,initであり、引数のカッコは4つの別々のトークンであり、一緒になってコンストラクタ呼び出しを形成します。 newが存在しない場合、3つのトークンが通常の関数呼び出しを形成します。

独立して呼び出すには、new (init())またはnew (init())()と書くことができます(もちろん、init()はコンストラクタを返しません)。

関連する問題