ジャバスクリプト講座その8
信用なくなっちゃうよ。干上がっちゃうよ。
すごく眠かったんです。。。ごめんなさい。
さて、昨日の続きです。
今回はひとつずつプログラムを見ていきましょう。
var gazo=new Array(5) ;
これは配列と行って変数のパワーアップ版のようなものです。
上記のような記述をすることによって
変数[数字]
という表示ができるようになります。
varはたぶんvariableの略で、これは変数ですよ
と宣言しているのだと思います。varは書いても書かなくても
だいたい動くのでプロを目指さない限りはあんまり気にしなくて
いいかもしれません。
new Array(5) は新しく変数を配列として使用しますよ。
という宣言です。宣言というのはあらかじめこれはこういう使い方を
しますとコンピューターに教えてあげることです。教えてあげないと
コンピューターは無視してしまうので、教えてあげなくてはなりません。
そして()の中の数字はその配列を何個使うかを宣言しています。
したがってvar gazo=new Array(5) ;
は、gazoという変数を配列として使用して、その配列を5個位使います
ということをコンピューターへ伝える記述です。
ちなみにgazoという変数はこの宣言のあとは配列としてしか使えないので
gazo="aaa";
という記述をするとエラーが出ます。
※この配列という処理のメリットについては今回の説明である程度
わかると思いますのでこのまま読み進めて下さい。
gazo[1]
="http://stat.ameba.jp/user_images/20100613/06/onesscripter/c2/d8/j/o0481036010588423849.jpg";
gazo[2]
="http://stat.ameba.jp/user_images/20100613/06/onesscripter/33/c0/j/o0481036010588423790.jpg";
gazo[3]
="http://stat.ameba.jp/user_images/20100613/06/onesscripter/ca/fa/j/o0360048110588423788.jpg";
次にこの部分です。
配列の宣言で配列に変換した変数は
gazo[0]
gazo[1]
gazo[2]
gazo[3]
gazo[4]
というような書き方をします。
配列の始めは[1]ではなく[0]
なので忘れないように気をつけてください。
ですが、今回はあえ[0]を無視しました。
あんまり深く考えなくても大丈夫です。
それ以外は変数の書き方と一緒です。
ここで疑問が出る人もいるかも知れません
わざわざ面倒な配列を使わなくても
gazo1
gazo2
・
・
・
gazo4
と書けばいいのでは?
そうですね確かに変数に値を入れるだけならそれでも良いのですが
この後の処理によって変数を操作するときに非常に厄介な事になるのです。
そのことについてはこの後の項目で説明します。
random=Math.floor(Math.random()*3+1);
document.write(random);
さて、ちょっとややこしい記述が出てきました。
英語も数学も苦手な人は敬遠したくなるかも
しれませんが、もうちょっと頑張りましょう。
まずここで何をしようとしているかというと
randomという変数に1~3までの数字をランダムに
入れる。という処理をしています。
そして最後にそのランダムで選ばれた数字を画面に表示しています。
~これ以降、数学が苦手な人は飛ばしていただいて結構です。~
Math.foor()は小数点以下の数字を削除するという命令です。
()の中に入っているMath.random()という命令はランダムな数字を
取り出してくれる命令なのですが、0.******というような小数点以下の
数字しか取り出してくれません。
なので、まずMath.random()で取り出した0.*****を3倍して
1を足します。すると1.*****か2.*****か3.*****がそれぞれ3分の1の
確率で取得できます。
なんで取得できるのか、うまく説明できませんが、1~9までの数字に
2をかけたり3をかけたりと電卓で計算してもらえればそのようになる
ことが確認できると思います。
そして取得した1.*****2.*****3.*****から.*****の部分を
Math.floor()で削除すれば、変数randomの中身は1か2か3の
数値がそれぞれ3分の1の確率で取得されます。
~数学的なお話ここまで~
まとめると、
random=Math.floor(Math.random()*終の数字+始めの数字);
で、始めの数字から終の数字までの中からランダムに1つだけ数値を取得できます。
hyoji=gazo[random];
一見単純に見えますが、ちょっとだけややこしいです。
hyojiという変数の中にgazo[1]、gazo[2]、gazo[3]をそれぞれ3分の1の確率で
いれなさいという命令です。
gazo[]の[]の中に変数randomを入れることによって
gazo[1]、gazo[2]、gazo[3]をそれぞれ3分の1の確率でhyojiに入れることができます。
このとき上方で書きましたが、gazo1、gazo2、gazo3という変数で書いてしまうと、
困ってしまうことがわかると思います。
gazorandom???という記述では全く別の変数になりますね。
document.write("<img src='" + hyoji + "' />");
そして最終的にhyojiに入ったhttp://~を参照して上記記述により読出しています。
ブラウザを更新する度に3つの画像がそれぞれ切り替わると思います。
今回は非常に多くのテクニックを使用しています。非常に内容の濃い回
だったと思います。不明な点はコメントなどでお答えしますので遠慮なくどうぞ
次回はループ処理の説明をします(今晩の更新予定)よろしくお願いします
↓ジャニースジャンルが人気?

携帯用掲示板サイト-トピッキング-

すごく眠かったんです。。。ごめんなさい。
さて、昨日の続きです。
今回はひとつずつプログラムを見ていきましょう。
var gazo=new Array(5) ;
これは配列と行って変数のパワーアップ版のようなものです。
上記のような記述をすることによって
変数[数字]
という表示ができるようになります。
varはたぶんvariableの略で、これは変数ですよ
と宣言しているのだと思います。varは書いても書かなくても
だいたい動くのでプロを目指さない限りはあんまり気にしなくて
いいかもしれません。
new Array(5) は新しく変数を配列として使用しますよ。
という宣言です。宣言というのはあらかじめこれはこういう使い方を
しますとコンピューターに教えてあげることです。教えてあげないと
コンピューターは無視してしまうので、教えてあげなくてはなりません。
そして()の中の数字はその配列を何個使うかを宣言しています。
したがってvar gazo=new Array(5) ;
は、gazoという変数を配列として使用して、その配列を5個位使います
ということをコンピューターへ伝える記述です。
ちなみにgazoという変数はこの宣言のあとは配列としてしか使えないので
gazo="aaa";
という記述をするとエラーが出ます。
※この配列という処理のメリットについては今回の説明である程度
わかると思いますのでこのまま読み進めて下さい。
gazo[1]
="http://stat.ameba.jp/user_images/20100613/06/onesscripter/c2/d8/j/o0481036010588423849.jpg";
gazo[2]
="http://stat.ameba.jp/user_images/20100613/06/onesscripter/33/c0/j/o0481036010588423790.jpg";
gazo[3]
="http://stat.ameba.jp/user_images/20100613/06/onesscripter/ca/fa/j/o0360048110588423788.jpg";
次にこの部分です。
配列の宣言で配列に変換した変数は
gazo[0]
gazo[1]
gazo[2]
gazo[3]
gazo[4]
というような書き方をします。
配列の始めは[1]ではなく[0]
なので忘れないように気をつけてください。
ですが、今回はあえ[0]を無視しました。
あんまり深く考えなくても大丈夫です。
それ以外は変数の書き方と一緒です。
ここで疑問が出る人もいるかも知れません
わざわざ面倒な配列を使わなくても
gazo1
gazo2
・
・
・
gazo4
と書けばいいのでは?
そうですね確かに変数に値を入れるだけならそれでも良いのですが
この後の処理によって変数を操作するときに非常に厄介な事になるのです。
そのことについてはこの後の項目で説明します。
random=Math.floor(Math.random()*3+1);
document.write(random);
さて、ちょっとややこしい記述が出てきました。
英語も数学も苦手な人は敬遠したくなるかも
しれませんが、もうちょっと頑張りましょう。
まずここで何をしようとしているかというと
randomという変数に1~3までの数字をランダムに
入れる。という処理をしています。
そして最後にそのランダムで選ばれた数字を画面に表示しています。
~これ以降、数学が苦手な人は飛ばしていただいて結構です。~
Math.foor()は小数点以下の数字を削除するという命令です。
()の中に入っているMath.random()という命令はランダムな数字を
取り出してくれる命令なのですが、0.******というような小数点以下の
数字しか取り出してくれません。
なので、まずMath.random()で取り出した0.*****を3倍して
1を足します。すると1.*****か2.*****か3.*****がそれぞれ3分の1の
確率で取得できます。
なんで取得できるのか、うまく説明できませんが、1~9までの数字に
2をかけたり3をかけたりと電卓で計算してもらえればそのようになる
ことが確認できると思います。
そして取得した1.*****2.*****3.*****から.*****の部分を
Math.floor()で削除すれば、変数randomの中身は1か2か3の
数値がそれぞれ3分の1の確率で取得されます。
~数学的なお話ここまで~
まとめると、
random=Math.floor(Math.random()*終の数字+始めの数字);
で、始めの数字から終の数字までの中からランダムに1つだけ数値を取得できます。
hyoji=gazo[random];
一見単純に見えますが、ちょっとだけややこしいです。
hyojiという変数の中にgazo[1]、gazo[2]、gazo[3]をそれぞれ3分の1の確率で
いれなさいという命令です。
gazo[]の[]の中に変数randomを入れることによって
gazo[1]、gazo[2]、gazo[3]をそれぞれ3分の1の確率でhyojiに入れることができます。
このとき上方で書きましたが、gazo1、gazo2、gazo3という変数で書いてしまうと、
困ってしまうことがわかると思います。
gazorandom???という記述では全く別の変数になりますね。
document.write("<img src='" + hyoji + "' />");
そして最終的にhyojiに入ったhttp://~を参照して上記記述により読出しています。
ブラウザを更新する度に3つの画像がそれぞれ切り替わると思います。
今回は非常に多くのテクニックを使用しています。非常に内容の濃い回
だったと思います。不明な点はコメントなどでお答えしますので遠慮なくどうぞ
次回はループ処理の説明をします(今晩の更新予定)よろしくお願いします

↓ジャニースジャンルが人気?

携帯用掲示板サイト-トピッキング-
