4

Class()new Class,有什么区别new Class()?我做了一个测试,后者似乎更快。

http://jsperf.com/object-initilzation

我读到没有区别,但似乎有。

4

3 回答 3

3

Class()

调用一个函数。不要在构造函数上使用它。

new Classnew Class()

这些之间没有区别,都实例化了一个类的新实例。如果没有传递参数并且new使用了关键字,则括号是可选的。

于 2012-12-29T10:47:44.443 回答
0

如果你有这样的课程:

function Test(propVal){
    this.prop = propVal;
}

你会得到下一个结果:

调用 Test() 这将返回“未定义”,因为 Test 作为构造函数工作

调用 new Test(5) 您将获得一个新的 Test 实例,并且该实例的“prop”设置为 5

调用新测试 您将获得一个新的测试实例,并且该实例的“prop”设置为未定义

我希望这会有所帮助。

谢谢,

于 2013-01-21T20:11:43.303 回答
0

Class()是对构造函数的误用。当您这样调用它时,它具有作为上下文对象的全局范围,并且它不会创建 Class 的新实例。new Class我想,和之间的主要区别在于new Class()某些 javascript engined 使用的一些参数优化

于 2012-12-29T10:41:04.297 回答