Разница в том, что вы не должны использовать new Number()
.
new Number
создает объект, который будет переопределен в тот момент, когда вы присвоите ему другое значение. Другой просто создает примитив.
Единственная причина, вы бы использовать Number
является для разбора строк в числовые значения:
var a = Number("1e20"),
b = Number("1.6");
(Имейте в виду, что есть parseInt
и parseFloat
, а также.)
Или открыть пару констант :
var biggestNum = Number.MAX_VALUE;
var smallestNum = Number.MIN_VALUE;
var infiniteNum = Number.POSITIVE_INFINITY;
var negInfiniteNum = Number.NEGATIVE_INFINITY;
var notANum = Number.NaN;
не используйте Number
в качестве декларации, как это. В этом нет никакого смысла.
Если вы только назначая числовые значения переменных, без какого-либо разбора, просто присвоить им:
var a = 5,
b = 5234;
Случай примитивно против объекта. Не используйте 'new Number'. – elclanrs
Если вы позже присвоите ему новое значение, то совершенно не важно, что вы используете для его инициализации. – JJJ
Не обман, но может ответить на ваш вопрос: http://stackoverflow.com/questions/369220/why-should-you-not-use-number-as-a-constructor –