- ベストアンサー
JavaScriptのfunctionについての疑問
- JavaScriptでのfunctionの使い方と意味について質問です。特に= function()という表記に関して理解できない点があります。ご教授いただければ幸いです。
- JavaScriptのfunctionについて理解できない点があります。特に= function()という部分についてお答えいただければ幸いです。
- JavaScriptでのfunctionの使い方がよく分からないです。特に= function()という表記について教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
面白いですね。 「象は鼻が長い。」 →象が主語!? 鼻が主語!? 普通に日本語を使っていると, 象が主語でも鼻が主語でもどっちでもよくて, 単に,「象は鼻が長い」と聞くだけで,意味はわかりますし,自分でもよく使います。 しかし「文法的に説明せよ」と言われると難しいですね。 「象は鼻が長い。」 と同様, myMc_mc.onEnterFrame = function() { } も,いざ聞かれると難しいですが,私は次のようにとらえています。 私は フィーリング人間 なので間違っているかもしれませんが。 function の前に, まずイコール (=) ですが,これは代入演算子です。 myMc_mc.onEnterFrame = ○○ これで, 「myMc_mc.onEnterFrame に ○○ を代入せよ。」 ということになります。 それで実際の ○○ は何かというと function() です。 function() とはつまり,無名の関数です。 そして,無名の関数の実体は何かと言われると, function() { } の { } 内に書かれたステートメント(群)となります。 つまり, myMc_mc.onEnterFrame = function() { myMc_mc._x += 1; } この場合は, myMc_mc.onEnterFrame というイベントハンドラに, myMc_mc._x += 1; というステートメント(この場合は単体)を代入しなさい。 ということになります。 ちなみに, ------------------------------- function myfunc(){ trace("あ"); } _root.onEnterFrame = myfunc; ------------------------------- これではどうなるでしょうか? myfunc という,「あ」 を trace する カスタム関数を, _root.onEnterFrame に代入するわけですから, あ あ あ あ … と trace されます。 つまり, ------------------------------- _root.onEnterFrame = function() { trace("あ"); }; ------------------------------- と同じ意味になります。 つまり, myMc_mc.onEnterFrame = function() { } は, 「myMc_mc.onEnterFrame に } 内に書かれたステートメントを実行する無名の function を代入せよ。」 という意味になります。 他の回答者の方, 間違っていましたら回答ならびに訂正のほど, よろしくお願いいたします。 とにかく私は,フィーリング人間なもので,上記のようにとらえている次第です。
お礼
sassakunさん、書き込みありがとうございます。 大変大変わかりやすいご回答ありがとうございます。 理解できました。あとは繰り返し自分で使ってみてしっかり習得するだけですね。 丁寧なご回答本当にありがとうございました(^0^)。