Javascriptは見よう見まねで数十行書いたことがあるだけなので、あるいは私が知らない致命的欠陥がMath.floorにはあるのかもしれません。
Math.floor を使わない場合はこう書く
var value = ~~(Math.random()*10);
なぜ、Math.floorを使っちゃいけないのでしょうか。「与えられた実数を超えない最大の整数」を返す、floor関数は、他の言語でも使えますし、数学がベースになっており動作は自明です。それを使わずに、秘儀を使う理由が私には分かりませんでした。
学生時代、決定的な影響を受けた名著、プログラム書法 第2版の最初のセクションには、こう書いてあります
わかりやすく書こう。−うますぎるプログラムはいけない。
初めて読んだときには、目の前の霧が晴れるような気がしました。