Class(),new Class和new Class()之间的区别

时间:2012-12-29 09:41:05

标签: javascript javascript-objects

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

http://jsperf.com/object-initilzation

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

3 个答案:

答案 0 :(得分:3)

  

Class()

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

  

new Classnew Class()

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果您有这样的课程:

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

您将获得下一个结果:

调用Test() 这将返回“undefined”,因为Test正在作为构造函数

致电新测试(5) 您将获得一个新的Test实例,该实例的“prop”将设置为5

致电新测试 您将获得一个新的Test实例,该实例将其“prop”设置为undefined

我希望这会有所帮助。

谢谢,