3
在JavaScript中,您可以调用函数作为函数或构造函数。例如,你可以这样做:与原始值相反,数值/布尔值/字符串对象的用途是什么?
myObject = new Number(13);
myPrimitiveValue = Number(13);
或者干脆
myPrimitiveValue = 13;
我理解的结果之间的差异。你能解释一下在哪个合理的情况下创建一个数字,布尔值或字符串作为对象是可取的?例如,设置新属性的能力(这是你可以在对象上做的事情,但对原始值无法做到)对于包含数字/布尔/字符串的对象几乎总是一个坏主意。为什么我需要一个数字/布尔/字符串对象?
感谢你为这个,它有一定道理。但是这是一个有点有点奇怪,你不觉得吗?考虑其他脚本语言,例如lua,在那里没有这样的东西,表格(jscript对象的模拟)是一个表和数字/字符串/布尔是数字/字符串布尔。对比很不同的语言是不公平的,但是javascript对此很陌生。阅读ECMAScript规范我有一个明显的感觉,它是事后编写的,描述了一些已经存在的实现。 – 2010-06-14 09:28:44
@zes pri:也许这些包装器受到了Java中类似的包装的启发,但它们在脚本语言中并没有那么有用。您说得对,该规范是基于现有的实现,JavaScript于1995年12月宣布,并且规范于1997年6月通过。http://en.wikipedia.org/wiki/ECMAScript – Guffa 2010-06-14 10:05:59