Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript a=1和a=new Number()之间的差异_Javascript - Fatal编程技术网

Javascript a=1和a=new Number()之间的差异

Javascript a=1和a=new Number()之间的差异,javascript,Javascript,var a和var a=new Number()之间的区别是什么,以及以后将a的值赋给1的区别是什么 当我得到安慰时,我看到一个是未定义的,另一个是编号{}。在实施过程中最显著的区别是什么。区别在于您不应该使用。 newnumber创建一个对象,当您为其指定其他值时,该对象将被覆盖。另一个只是创建一个基本体 使用Number的唯一原因是将字符串解析为数值: var a = Number("1e20"), b = Number("1.6"); (请记住还有parseInt和parseFl

var a和var a=new Number()之间的区别是什么,以及以后将a的值赋给1的区别是什么


当我得到安慰时,我看到一个是未定义的,另一个是编号{}。在实施过程中最显著的区别是什么。

区别在于您不应该使用。
newnumber
创建一个对象,当您为其指定其他值时,该对象将被覆盖。另一个只是创建一个基本体

使用
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;
Number()允许您解析字符串或其他变量类型,它并不意味着作为声明,因为变量在javascript中没有类型


原语与对象的对比。不要使用
新编号
。如果以后为其指定一个新值,则使用什么来初始化它绝对没有区别。这不是一个复制品,但可能会回答您的问题:第一个复制品创建一个原语。另一个是一个物体。正确答案:通常不赞成堆栈溢出。试着用它来代替。