- ベストアンサー
JavaScriptの勉強中にわからない部分について
- JavaScriptの勉強中に、解説がなくわからない部分が出てきました。質問でもらえると助かります。
- ランダムに描画する多角形の数値を変更すると、描かれる多角形の数や形状が変化します。
- 変数名randomIやnTo、nFromは、プログラム内で使用される変数の名前です。randomIは指定範囲のランダムな整数を返す関数で、nToとnFromはその関数に渡される引数です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
randomI グローバル変数で、中身は関数オブジェクトです。 オブジェクト指向言語である JavaScript では、関数もオブジェクトの一種です。 グローバル変数なので、一度生成されたら廃棄されません。 nTo / nFrom 関数内のローカル変数で、中身は関数の呼び出し元が指定したオブジェクトです。 randomI(2,7) と実行されたら、nTo = 2, nFrom = 7 ですね ローカル変数なので、関数が呼び出される毎に生成されて廃棄されます。 var n = randomI(2,7) 上記が実行されると、グローバル変数 randomI の中身である 関数オブジェクトが以下の様に実行されます。 * ローカル変数 nFrom に 2 を設定する * ローカル変数 nTo に 7 を設定する * ローカル変数 f に 6(=7-2+1) を設定する * システム関数 random を実行し、テキトーな0以上1「未満」の実数を取得 * ローカル変数 f(=6) と乗算して、0以上「6未満」の実数を取得 * システム関数 floor を実行し、0以上「5以下」の「整数」を取得 * ローカル変数 nFrom と和算して、2以上7以下の整数を取得 * 計算した「2以上7以下の整数」を関数の戻り値とする というわけで、 「最小値と最大値を指定すれば、その範囲内でテキトーな整数を考えてくれる」 処理を行ないます ローカル変数 n はその後の処理で、描画する多角形の辺の個数に使用するので、 最小値や最大値を変更すると、描画される図形の形状にいろいろと影響するでしょうが、 うまく言葉にできません。
その他の回答 (1)
- hitomura
- ベストアンサー率48% (325/664)
> ここのrandomIとnToとnFromというのは変数名ですか?これはいったい何者ですか? 「本を読みながら勉強している」というのであるならば、関数についての説明ページがあるはずです。そこを読みましょう。 もし関数の説明のところでこのようなコードが出てきたのなら、「解説が乗っていな」いという事はないはずです。コードが書かれたページの前後をもう一度探してみてください。 > var n = randomI(2,7); > ここの数字を変更すると何かが変わるのですがうまく言葉にできません > 何がどう変わるのか教えてください 描画される図形が何角形から何角形までか、その数から1を引いたらどうなるかを見るとわかると思います。
お礼
ありがとうございます!! すごくわかりやすくて理解できました!