Class()
和new Class
,new Class()
之间有什么区别?我做了一个测试,后来似乎做得更快。
http://jsperf.com/object-initilzation
我读到没有区别,但似乎有。
答案 0 :(得分:3)
Class()
调用一个函数。不要在构造函数上使用它。
new Class
和new Class()
这些之间没有区别,它们都实例化了一个类的新实例。如果没有传递参数并且使用了new
关键字,则parens是可选的。
答案 1 :(得分:0)
Class()
是对构造函数的误用。当你这样调用它时,它有一个全局范围作为上下文对象,它不会创建新的Class实例。我想,new Class
和new Class()
之间的主要区别在于某些参数优化,某些javascript引擎使用
答案 2 :(得分:0)
如果您有这样的课程:
function Test(propVal){
this.prop = propVal;
}
您将获得下一个结果:
调用Test() 这将返回“undefined”,因为Test正在作为构造函数
致电新测试(5) 您将获得一个新的Test实例,该实例的“prop”将设置为5
致电新测试 您将获得一个新的Test实例,该实例将其“prop”设置为undefined
我希望这会有所帮助。
谢谢,