• ベストアンサー

for文にて +=の意味がわかりません。

最近ActionScriptの勉強を始めたのですが、for文にてわからない部分があります。内容は、 1から1000までの足し算を繰り返し行い、その合計値をmessage_txtに代入するアクションスクリプトを書きたい 最終的に答えは以下らしいのですが、ans+= i; という文の中で、「+=」がどういう働きをしているのかがよくわかりません。 どなたかわかりやすく解説していただけませんでしょうか? var ans = 0; for (var i = 1; i<=1000; i++) { ans += i; } message_txt.text = ans;

  • tella
  • お礼率94% (37/39)
  • Flash
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

>「+=」がどういう働きをしているのかがよくわかりません。 ans = ans + i; です。

tella
質問者

お礼

なあるほど!そういう意味だったんですね! ということは Silver thaw さんが書いたとおり書いてもいけるわけですよね! ありがとうございました!

関連するQ&A

  • for文を使って変数に値を入れる方法

    以下のプログラムでfor文を使ってx1に1, x2に2, x3に3を代入したいのですが、 変数x1~3をfor文を使って表す方法がわかりません。 下記のように var test = "x" + i; で変数testにx1という文字列を持たせ、そこにiを代入すれば上手くいくかなと思いましたが 上手くいきません。どのようにすれば期待通りになるか教えていただけないでしょうか。 ============================================ var x1 = 0; var x2 = 0; var x3 = 0; for(var i=1; i<=3 ; i++){ //x1に1, x2に2, x3に3を代入したい var test = "x" + i; test = i; } alert("x1=" + x1 + ",x2=" + x2 + ",x3=" + x3); ============================================

  • for文の処理で・・・

    こんにちは。Actionscript3.0で、 以下のようなスクリプトを動かしたいのですが、 menupositionReset(); function menupositionReset():void { for (var i:int = 1; i <= 10; i++) { trace("menu_mc" + i); ["menu_mc"+i].x=500; } } これを実行すると、 1083: Syntax error: dot is unexpected. と表示されて動きません。menu_mc01~10を500ピクセル動かしたいだけなのですが。。。 スクリプトはステージの1フレーム目に記述しています。 ["menu_mc"+i].x=500;でエラーが出ているようです。 なぜ動かないのでしょうか?

    • ベストアンサー
    • Flash
  • AS3 TextFieldにfor文で一気に代入したい

    ステージに、Flashのオーサリングから テキストフィールド(ダイナミックテキスト)を3つ作りました。 インスタンス名 "t_txt1" "t_txt2" "t_txt3" forループで、この3つに一気に "あいうえお" を代入して表示させたいのですが for(var i:int; i>3; i++){ "t_txt"+i.text = "あいうえお"; } と書いても、"t_txt"+i の部分が インスタンス名として認識してもらえず エラーになってしまいます。 どうすればいいでしょうか。。? ご存知の方いらっしゃいましたらどうかよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • for文について

    以下のfor文について質問致します。 <script type="text/javascript"> for(i = 10; i; i--){ document.write(i+"<br>"); } </script> 条件式の部分がi>0ならわかるのですが、ただiと書いただけで 10回繰り返しが起こるのはどうしてでしょうか?

  • JavaScriptでfor文

    初歩的な事ですが教えて下さい。 for文で宣言した変数をfor文内で変更した時、 通常の記述で上手く動作しません。 どのようにしたら良いのでしょうか? 意味をなさないfor文ですが… for (var i=0; i<5;i++){ alert("i=" + i); i=4; //ここが上手くいかない } 以下のようにすると意図した通りになります。 が、なんかかっこ悪い?違う気がする… for (var i=0; i<5;){ alert("i=" + i); i=4; //これだと上手くいく i++; } 上記以外のメジャーな方法って有るのでしょうか? それともこれが最善でしょうか?教えて下さい。

  • FOR文の使用方法について (変数のセット)jsp

    こんにちは。JSPでfor文の添え字(i)を変数の添え字に反映したいと思っております。 <% for(int i=1;i<8;i++){  ResultSet rs_q(i)_ans_yes = qs_cnt.q(i)_ans_yes();  ResultSet rs_q(i)_ans_no = qs_cnt.q(i)_ans_no(); } %> rs_q1_ans_no = qs_cnt.q(1) rs_q2_ans_no = qs_cnt.q(1) rs_q3_ans_no = qs_cnt.q(1) rs_q4_ans_no = qs_cnt.q(1) とq(i)のように添え字を代入したいのですがいきずまっております。 どなたかご教示いただけないでしょうか?

    • ベストアンサー
    • Java
  • ActionScript For文を使っての方法

    ActionScript3.0の質問です。 JSONのデータを読み込んでテキストレイヤーに表示しているのですが、行数の関係上、JSONの配列内にある "aaaa":"表示されるテキスト" が15を超えると、複数行での表示ができなくなります 今回、for文を使って、一定数(15個)を超えたら、新たな配列を作り、テキストレイヤーに表示できるようにしたいと思っています。 ぜひ、詳しい方、アクションスクリプト(構文)を教えてください。 よろしくお願いします。

  • 入れ子になったfor文の初期化式について

    javascriptを勉強中の初心者です。 以下のスクリプトを見てください。 document.write("<p>"); outloop: for (var i = 1; i < 5; i++){ for (var j = 1; j < 5; j++){ document.write(i + " × " + j + " = " + (i * j) + "<br />"); if (i * j > 10){ break outloop; } } } document.write("</p>"); 5未満の数同士の乗算の結果を順に表示し 乗算の結果が10を超えたら外のループを抜けるというスクリプトです。 for文がこのように入れ子になっている場合、 内側のループが二週になるとjはまた初期化されて1になるのでしょうか? 手持ちの参考書にあるfor文の説明では『初期化式は初めの一回だけ実行される』とあります。 内側のループが二回目以降の時、参考書のいう『初めの一回』になると考えていいのでしょうか。 初歩的な質問で恐縮ですが、ご存知の方どうか教えてください。 よろしくお願いいたします。

  • for文について

    以前もお聞きしたかも知れませんが、教えて頂きたく。 7フレームに以下のScriptを記述しています。 sheet.target.duplicateMovieClip(ctr,ctr) ; dummy_loader.loadClip(var_article[ctr-1]+".jpg",sheet[ctr]); gotoAndPlay("rtn") ; dummy_listener.onLoadError = function(target_mc:MovieClip, errorCode:String) { gotoAndstop("end") ; } dummy_listener.onLoadComplete = function(target_mc:MovieClip) { sheet[ctr]._name = ctr ; sheet[ctr]._x += (ctr - 1) * 90 ; var_ctr++ ; dummy_loader.unloadClip(var_article[ctr-1]+".jpg"); }; 「rtn」は6フレームのフレームラベル、「end」は8フレームのフレームラベルです。 var_articleと言う配列に入っている情報(Key項目)を元にJPEGを読込んでいます。 onLoadCompleteにてJPEGをセットして前のフレームに戻して配列にデータが入っている間6<->7フレームをグルグル回って処理しています。 正常に動いています。 これを、No.1005374の#3でDPEさんに指摘して頂いたようにfor文を使ってのループ処理に変えたいと思います。 for(i = 0; i <= ctr; i++) { sheet.target.duplicateMovieClip(ctr,ctr) ; dummy_loader.loadClip(var_article[i]+".jpg",sheet[i]); } これで、1件づつ読込んでonLoadCompleteにて複製したムービークリップに名前を付けて当該の座標に配置しようと試みました。が、結果はfor文が全て処理されてからonLoadCompleteの処理がなされてしまいます。 自らフレームを利用したループと、for文を利用したループと、何処が違うのでしょう?。 どうぞ宜しく御願い致します。

    • ベストアンサー
    • Flash
  • for文を用いて

    みなさん、こんにちわ。C言語についてわからないことがありましたので、質問させていただきます。 C言語の本でfor文を用いて1~10までの和を求める例題は数多くありますが、(i=0,i<=10,i++) 1+2+1+2+1+2+… のように二種類のパターンがでてきたときはどのようにfor文で組めばよいのでしょうか?合計とその途中の計算も結果出力したいのですが、わからず困っています。ご教授よろしくお願いします。

専門家に質問してみよう