Result
Download
Reset
◀︎
<html lang="ja"> <meta charset="utf-8">
クリック
リロード
プログラムの構造
関数の定義: function 色々(){ }
変数の宣言(文字列の格納): let ・="0123456789abcdef";
変数の宣言(文字列の格納): let ・="#";
for 文などの制御: for(let 愛=0;愛<6;愛++){ }
Math.floor(Math.random()) の計算: 文字列 は 0123456789abcdef という 16種類の文字なので, インデックスが 0 から 15 であれば, すべての文字をランダムに選択できる. インデックスの範囲を確保するためにこの計算を行なっている.
例えば Math.floor(Math.random()*16) の結果が 14 になった場合は, 文字列.charAt(14) を使うことになり, インデックスの14番目 ( d )の文字が選ばれることになる.
16をかけることによって 0 以上 16 未満の数値を生成することになるので, 結果として 0 から 15 までの範囲のインデックスを得ることになる.
0.000001 × 16 = 0.000016 → 0
0.1 × 16 = 1.6 → 1.6 → 1
0.13 × 16 = 2.08 → 2
0.2 × 16 = 3.2 → 3
0.25 × 16 = 4 → 4
0.35 × 16 = 5.6 → 5
0.4 × 16 = 6.4 → 6
0.45 × 16 = 7.2 → 7
0.5 × 16 = 8 → 8
0.6 × 16 = 9.6 → 9
0.65 × 16 = 10.4 → 10
0.7 × 16 = 11.2 → 11
0.75 × 16 = 12 → 12
0.85 × 16 = 13.6 → 13
0.9 × 16 = 14.4 → 14
0.999999 × 16 = 15.99984 → 15
+= は加算代入演算子: つまり右側の値を左側の変数に追加している
しゃーぷ は初期値として "#" を持っていることになり, [Math.floor(Math.random() * 16)]; の手前に # が追加される
プログラムの実行: return しゃーぷ;
イベント・ハンドラーとイベント・リスナーの設定:
</html>