Extending Number.prototype in javascript and the Math object?

后端 未结 8 1794
孤城傲影
孤城傲影 2021-02-05 03:11

I\'ve always wondered why Javascript has the global Math object instead of giving numbers their own methods. Is there a good reason for it?

Also are there any drawbacks

8条回答
  •  佛祖请我去吃肉
    2021-02-05 03:34

    There is no drawback in extending Number.prototype other than confusing other people. What's the point? What is better in using value.round() instead of Math.round(value)?

    There are several good reasons for the Math object:

    1. It works for non-numbers, too: Math.round("5") works whereas value.round() won't work when value is a string (for example, the value of a textbox)
    2. Some members of the Math object don't belong to a "primary" number value, like Math.min() or Math.max(). Or do you want to use it like a.max(b)?
    3. Other members are global and do not belong to a specialized number. Examples are constants like Math.PI or the function Math.random().

提交回复
热议问题