一些函数返回相同的对象,无论是否被称为构造函数。
在性能方面,我应该使用
new RegExp(rg, flags);
new Array(1000);
<德尔> new Object(whatever);
德尔>
...
或
RegExp(rg, flags);
Array(1000);
<德尔> Object(whatever);
德尔>
...
修改:我错了,如果我使用Object()
或new Object()
答案 0 :(得分:2)
这取决于类型。对于Array
,它是等效的:
当
Array
作为函数而不是构造函数调用时,它会创建并初始化一个新的Array
对象。因此,函数调用Array(…)
等同于具有相同参数的对象创建表达式new Array(…)
。
Object
:
当
Object
作为函数而不是构造函数调用时,它会执行类型转换。 当Object
作为new
表达式的一部分调用时,它是可以创建对象的构造函数。
您可以在spec中查找其他类型。
答案 1 :(得分:0)