Javascript 类()、新类和新类()之间的差异
Javascript 类()、新类和新类()之间的差异,javascript,javascript-objects,Javascript,Javascript Objects,Class()和newclass,newclass()之间有什么区别?我做了一个测试,后者似乎做得更快 我读到没有区别,但似乎有区别。Class()是对构造函数的滥用。当您这样调用它时,它有一个全局范围作为上下文对象,并且它不会创建类的新实例。我想,newclass和newclass()之间的主要区别在于一些参数的优化,这些参数由某些javascript引擎使用 Class() 调用函数。不要在构造函数上使用此选项 新类和新类() 这两者之间没有区别,都实例化了一个类的新实例。如果没有传递参数
Class()
和newclass
,newclass()
之间有什么区别?我做了一个测试,后者似乎做得更快
我读到没有区别,但似乎有区别。Class()
是对构造函数的滥用。当您这样调用它时,它有一个全局范围作为上下文对象,并且它不会创建类的新实例。我想,newclass
和newclass()
之间的主要区别在于一些参数的优化,这些参数由某些javascript引擎使用
Class()
调用函数。不要在构造函数上使用此选项
新类
和新类()
这两者之间没有区别,都实例化了一个类的新实例。如果没有传递参数并且使用了new
关键字,则参数是可选的。如果您有这样的类:
function Test(propVal){
this.prop = propVal;
}
您将获得下一个结果:
调用Test()
这将返回“undefined”,因为测试作为构造函数工作
调用新测试(5)
您将获得一个新的Test实例,该实例的“prop”设置为5
调用新测试
您将获得一个新的Test实例,该实例的“prop”将设置为undefined
我希望这有帮助
谢谢,相关问题,那么Class()
呢?此外,似乎还有性能差异?不完全确定您的意思,但如果我是正确的,我相信Javascript只是假设您正在尝试调用构造函数,因此它类似于new Class()
。虽然我不能确定,但请不要相信我的话。第一个Class()
与此无关,我想您可能会感到困惑,请参见jsperf链接。Class()
和其他类之间似乎有着严重的区别。它们都调用构造函数。