- ベストアンサー
JavaScript の学習法
昨日(14日)、「ラジオボタンとif文」という質問を出した者です。 その回答のようなプログラムを書けるようになるには、どのように学習したらよいでしょうか。HTML、JavaScript とも初心者で、目下のところは本やネットから使えそうなのを探し出してつぎはぎでコーディングしていて、分からないことはこちらのサイトに質問している状態です。 上級の方、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 これから勉強するんだという方には複雑に見えるかもしれませんが一つずつ追っていくと全て基本の組み合わせになっています。 日本語に直して読んでいくと動きがつかめると思います。 >このように書かないと目的の機能を達成できないようです。 このように書くのが効率的に達成できるんです。 単純に2つの選択からどっちがチェックされているか取得するだけであれば処理が減り、複雑には見えないかもしれません。 ただ、このソースであれば選択肢が増えた場合でも手を加えることなく動くんです。 function checkRadio(f){ // fというフォームオブジェクトの中の"maekausiroka"という要素を取得してmに代入 var m=f.elements["maekausiroka"]; // フラグをfalseに設定 var flg=false; // mはいくつかの要素があるのでその数までのループを実行 // for {} 内でiは0からmaekauirokaの数まで順番に変動 for(var i=0;i<m.length;i++){ // mのi番目の要素が選択されているかを調べ // [選択されている場合]フラグをtrueにしてその選択されている値をalertで表示してループを抜ける if(m[i].checked){ flg=true; alert(m[i].value); break;} } // フラグがfalseの場合はalertで選択されていない旨を表示 // 何か選択されていた場合はフラグがtrueになっているので表示しない if (!flg) alert("選択されていません!"); } ・フォーム要素の取得 ・取得した要素の利用 ・if文 ・for文 の組み合わせです。 恐らく初級の本ではこれをそれぞれ説明していると思います。 if や for は必ずと言って良いほど使う構文ですのでまずはその動作を理解してみてはいかがでしょうか。 学校で習う前にJavaScript等独学した時期がありますが、 「こんな動きを作ってみよう」から似ているサンプルを見つけてはちょっとずつ中身を変更してどのように動きが変わるかをひたすら実験してました。 ブラウザが応答しなくなったり、全然思った動きにならなかったりを繰り返して今に至ります。 そのうちこの動きだとこのロジックが使えるとか、これならこれの応用だとかいろいろ理解して行きます。 ちなみに仕事でいろいろ作っていますが未だに新しいものを作る時は試行錯誤の時があります。 プログラムってそんなもんです。 頑張ってください。
その他の回答 (2)
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 私も最初はサンプルからの組み合わせでしたが一つ一つを理解した上で使用して行きました。 難しいことをやっていそうでも何らかの組み合わせで出来ています。 まずは真似して見つつ、自分で考えた機能を作ってみて下さい。 ミスしたってパソコン壊れるわけでもないです。 いろいろ作っていくうちに自由に作れるようになって行きます。 後は聞くのは最終手段で、調べ尽くして実験してください。
補足
ご回答ありがとうございます。 自分で考えた機能がなかなか作れないのです。 たとえば、「ラジオボタンとif文」の回答で、 function checkRadio(f){ var m=f.elements["maekausiroka"]; var flg=false; for(var i=0;i<m.length;i++){ if(m[i].checked){ flg=true; alert(m[i].value);break;} } if (!flg) alert("選択されていません!"); } とありますが、 初級の参考書には、このような複雑な書き方は全く説明されていません。 ですが、このように書かないと目的の機能を達成できないようです。 上級の方々はどのようにしてこのように書けるようになったのでしょうか?
- wakatonsx
- ベストアンサー率28% (234/828)
どんなプログラムでも基本がすべてです。 誰でも最初は初心者です。 今は情報が先走っているので、勉強は出来るのですが基本を飛ばしてしまう方が 多いです。 基本が出来ていないと応用が効きません。 何事も A=1 B=2 PRINT A+B から始まるのです。 つぎはぎは良くないです。 順番に基本を作り上げましょう。
お礼
ご回答ありがとうございます。 No.2に補足を付けていますので、そちらも参照していただけるとありがたいです。 よろしくお願いいたします。
お礼
懇切丁寧なご回答ありがとうございます。 私にもできそうな気がしてきました。 改めて感謝いたします。