Должно быть детерминированным.
Согласно спецификации
20.2.2.16 Math.floor (x)
Возвращаетнаибольшее (самое близкое к + ∞) числовое значение, которое не больше x и равно математическому целому числу.Если x уже является целым числом, результат равен x.
- Если x равен NaN, результат равен NaN.
- Если x равен +0, результат равен + 0.
- Если x равен −0, результат равен −0.
- Если x равен + ∞, результат равен + ∞.
- Если x равен −∞, результат равен−∞.
- Если x больше 0, но меньше 1, результат равен + 0.
NOTE Значение Math.floor (x) совпадает со значением -Math.ceil (-x).
Недетерминизм некоторых математических функций связан с возможными проблемами округления, когда базовый движок использует числа с более высокой точностью,Это не должно быть фактором здесь.
Обновление :
Деление также детерминированное .Здесь спецификация JS зависит от спецификации IEEE 754.Но эта спецификация является детерминированной.(Извините, нет ссылки, так как фактическая спецификация является платной.)
Недетерминирован в менее распространенных функциях JS.