Если значение number - отрицательное, return-значение всегда будет NaN.
Поскольку log это static-метод объекта Math, он всегда записывается Math.log(), а не как метод Math-объекта, созданного Вами.