ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 関数の戻り値で中括弧の配置は重要ですか?
JavaScript 関数の結果に対する中かっこの配置の影響
JavaScript では、関数内の中かっこの配置がコードの動作に大きな影響を与える可能性があります。次の 2 つの例を考えてみましょう。
<code class="javascript">function test() { return { javascript: "fantastic" }; } var r = test(); try { alert(r.javascript); } catch (e) { alert('no - it broke: ' + typeof r); }</code>
この場合、test() 関数は un 未定義を返し、「いいえ、壊れました: 未定義」という警告メッセージが表示されます。ただし、以下に示すように中括弧が return と同じ行に配置されている場合:
<code class="javascript">function test() { return { javascript: "fantastic" }; } var r = test(); try { alert(r.javascript); } catch (e) { alert('no - it broke: ' + typeof r); }</code>
test() 関数はオブジェクトを返し、警告メッセージには「fantastic」と表示されます。
この不一致は、JavaScript の自動セミコロン挿入に起因します。行がセミコロンで終わっていないが、ステートメントの終わりを示す可能性がある場合、JavaScript はセミコロンを自動的に挿入します。したがって、最初のコード スニペットは次のように実質的に解釈されます。
<code class="javascript">function test() { return; // inserted semicolon { javascript: "fantastic" }; }</code>
return の後のセミコロン。 return ステートメントを終了すると、中括弧ブロックが到達不能なコードになります。したがって、test() は undefined を返します。
対照的に、2 番目の例では自動セミコロン挿入がトリガーされず、有効なオブジェクトの戻り値が返されます。これは次のコードと同等です:
<code class="javascript">function test() { var myObject = new Object(); myObject.javascript = "fantastic"; return myObject; }</code>
以上がJavaScript 関数の戻り値で中括弧の配置は重要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。