• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptのステートメントの考え方)

JavaScriptのステートメントの考え方

このQ&Aのポイント
  • JavaScriptのステートメントの考え方について質問です。
  • JavaScriptでは行の終わりがステートメントの終わりと解釈されるため、コードの一部が正常に実行されないことがあります。
  • 具体的には、即時関数の直前のステートメントが認識されずにエラーが発生することがあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.2

「1 is not a function」のエラーが発生する原因は、() が後続する場合に関数の引数リストとして解釈されるためです。 つまり、"1()" という関数呼び出しであると扱われています。 http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html#section-7.9.2 http://jsfiddle.net/5j2Us/

hwbigin
質問者

お礼

なるほど! そういうことなのですね。 即時関数の最後に();を付けることと理屈としては同じなのですね。 有難うございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>JavaScriptでは行の終わりがステートメントの終わりと解釈されるはずなので、 解釈に間違いがあります 「行の終わりと推定される場合は、ステートメントの終わりと拡大解釈される」 というだけで、基本的に終端子がなければ行は続いていると考えるのが プログラムの特性です。 <script> j = a () alert(j); function a(){ return 100; } </script> 行をまたいでカッコがあるなら関数の実行と考えるのが筋でしょう

関連するQ&A

専門家に質問してみよう