<script>
var num = new Number(43);
console.log(num);
</script>
根据这里的教程:http://www.w3schools.com/jsref/jsref_obj_number.asp
Syntax
var num = new Number(value);
Note: If the value parameter cannot be converted into a number, it returns NaN (Not-a-Number).
问题:
在firebug->控制台中,显示:Number {}
,不是我所期望的Number {43}
,无论我输入什么数字 new Number(value)
;它总是显示:Number {}
那么使用 new Number(value)
的目的是什么? ?它是如何工作的?顺便说一句,我在网上搜索,但没有找到很好的解释。
最佳答案
Number(43)
是一个数字基元,但 new Number(43)
将从该数字基元创建一个对象。显示 Number {}
正是 Chrome 控制台显示此类对象的方式。
new Number(43)
仍然会像数字一样“表现”。在控制台中:
var num = new Number(43); // Number {}
num == 43 // true
num + 5 // 48
num === 43 // false, since the types don't match.
有关new
如何工作的更多信息:How does the new operator work in JavaScript? 。如果您只想要一个数字基元,请不要使用 new
。
关于javascript - new Number(value)在js中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17139851/