a = 1和a =新数字()之间的差异

时间:2015-03-30 08:57:04

标签: javascript

var a和var a = new Number()之间有什么区别,后来将a的值赋值为1

安慰时,我看到一个未定义,一个有Number {}。什么是最显着的差异被称为实施进展。

2 个答案:

答案 0 :(得分:0)

不同之处在于你不应该使用new Number() new Number创建一个对象,在为其分配其他值时将覆盖该对象。另一个只是创建一个原语。

您使用Number的唯一原因是将字符串解析为数值:

var a = Number("1e20"),
    b = Number("1.6");

(请记住parseIntparseFloat也是如此。

或者访问几个常量:

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;

答案 1 :(得分:-1)

Number()允许你解析字符串或其他变量类型,它不是声明,因为变量在javascript中没有类型。

http://www.w3schools.com/jsref/jsref_number.asp