Aro*_*ire 2 javascript optimization performance
与等效对象初始化程序相比,构造函数的运行速度之间是否有任何差异?
例如
function blueprint(var1, var2){
this.property1 = var1;
this.property2 = var2;
}
var object1 = new blueprint(value1,value2);
Run Code Online (Sandbox Code Playgroud)
VS
object1 = {property1:value1, property2:value2};
Run Code Online (Sandbox Code Playgroud)
如果存在,在优化代码时是否足以引起关注或文件大小优先?
如果存在,在优化代码时是否足以引起关注或文件大小优先?
都不是.
像这样的决策对系统性能有任何(正面)影响是极其罕见的.即使当前的浏览器(或任何您的执行环境)以某种方式显示出可观察的优势,这种差异也不太可能在新版本上持续存在.
"优化正确的代码比纠正优化的代码要容易得多."
编写可读,可维护的代码,当它们都正确时,检查它是否令人反感慢或文件是否过大并进行优化.
在控制台中运行:
function blueprint(var1, var2){
this.property1 = var1;
this.property2 = var2;
}
var start = new Date();
var stop;
var object1;
for (var i = 0; i < 1000000; i++) {
object1 = new blueprint(1,1);
}
stop = new Date();
console.log(stop - start);
Run Code Online (Sandbox Code Playgroud)
结果...
Google Chrome: 2832 milliseconds
Firefox 3.6.17: 3441 milliseconds
Run Code Online (Sandbox Code Playgroud)
在控制台中运行:
var start = new Date();
var stop;
var object1;
for (var i = 0; i < 1000000; i++) {
object1 = {
'property1': 1,
'property2': 1
};
}
stop = new Date();
console.log(stop - start);
Run Code Online (Sandbox Code Playgroud)
结果...
Google Chrome: 2302 milliseconds
Firefox 3.6.17: 2285 milliseconds
Run Code Online (Sandbox Code Playgroud)
临时而言,显而易见的是哪个更快。但是,除非您要进行大量操作,否则我认为您应该使用可读性更高的内容,而不用担心。