草庐IT

Performance

全部标签

javascript - 如何针对 IE 进行优化?

我有一个大量使用JS的应用程序,它在IE中运行缓慢。我将花费大约一周的时间针对IE进行优化,我希望获得一些尝试方面的指导。我发现此线程引用了Drip,这似乎很有用:IEandMemoryaccumulationinJavascript我正在寻找诸如“使用for循环而不是$.each”之类的技巧以及我可能没有使用的架构最佳实践。我正在使用的库:jQuery谷歌地图FacebookJSAPIKnockoutJSTaffy我已经在做的事情:使用for循环代替$.each缓存常用DOM元素的jQuery上下文使用Array.join()与字符串连接构建HTML有什么建议吗?谢谢!

javascript - 我可以使用 Visual Studio Code 分析 NodeJS 应用程序吗?

我可以使用Chrome协议(protocol)将VSCode调试器成功连接到我的远程NodeJS目标。我相信相同的协议(protocol)支持分析和性能测量,因为它很容易从Chrome开发工具中完成,但我不确定这是我可以直接从VSCode中完成的事情。是否支持此功能?我该如何使用它? 最佳答案 VisualStudioCode1.45(2020年4月)应该有所帮助,因为它集成了Javascriptdebuggingcapabilities,包括分析:NewJavaScriptdebuggerThismonthwe'vecontinu

javascript - 如果元素的位置是绝对的,浏览器的渲染是否回流?

如果我有一个具有绝对位置的元素,并且我更改了它的左侧和顶部位置,会回流到它的父子元素吗?如果它自己的child不受影响怎么办,因为他们也被左轴和上轴绝对定位?如果我更改元素的宽度/高度但对父元素及其子元素都不重要? 最佳答案 具有绝对位置的对象不会影响页面的布局。页面的布局不考虑绝对定位的对象。移动绝对定位的对象不会引起其他对象的任何回流。移动具有绝对定位的对象将导致其子对象随之移动。它不会回流它们,它们只会与它们的父容器一起移动。 关于javascript-如果元素的位置是绝对的,浏览

循环内的 Javascript 变量声明

我有一个近乎强制性的习惯,但我认为这可能是完全没有必要的。使用如下代码:functionabc(){vara,b;for(vari=0;i我强制自己在循环之前声明变量,而不是:functionabc(){for(vari=0;i请注意,在第二个代码块中,每次循环迭代时,我都使用var定义变量。我想第一个是可读性等方面的最佳实践。但有时我只是在破解一些东西,不需要遵循最佳实践。我的问题是:是否有任何理由不定义一个将在循环内使用var关键字重新定义的变量? 最佳答案 由于Javascript中的变量提升,在函数顶部或for循环内的var

JavaScript 的语句性能问题

你们能帮我确定每一个的性能差异吗声明?你会使用哪一个?创建一个新数组使用-varnew_list=newArray();//or-varnew_list=[];附加元素使用-push('a')-new_list[i];(ifiknowthelength)三元运算符或if(){}else(){}尝试制作更快的isodd函数(!(is_even))or(x%2!=0)forEach()或正常迭代还有一个a=b=3;或b=3;a=b;[编辑:我正在制作一个数学库。因此,也欢迎任何性能黑客讨论:)]感谢您的帮助。 最佳答案 我一直认为,因为

javascript - 计算在javascript中循环内花费的时间

如何检查在javascript中特定循环内花费的秒数(或毫秒)。我有一个用javascript实现的排序算法,现在我正在使用冒泡排序,我想使用快速排序。我知道在时间效率方面快速排序很好。但我想计算在最内层循环中花费的实际秒数或毫秒数。我该怎么做在javascript中? 最佳答案 最简单的方法是按日期比较。varold_time=newDate();...varnew_time=newDate();varseconds_passed=new_time-old_time;顺便问一下,为什么不直接使用内置的.sort()(https:/

javascript - JS/jQuery 性能差,尤其是在 IE9 和 Firefox 中

我在使用以下脚本时遇到严重的视觉和性能问题。最大的问题是对象的动画变得非常不稳定,在IE9中几乎是严重的,但在Firefox中却越来越烦人。直到最近,它的速度还是相当快的-但我担心复杂性正在减慢速度。奇怪的是,Sunspiderbenchmark在我的IE9实例中比在Firefox中运行得更快。脚本(这是一个更大的集合***的片段):检查用户进程的HTML5session存储日志游戏。根据舞台,为两个之间的对象设置动画使用crSpline点。确保浏览器窗口跟随对象在大Canvas上,通过scrollLeft等。最后,它通过colorbox加载一个弹出窗口。当此框关闭时,用户进度日志会相

JavaScript:原生 forEach 与原生 forEach

我注意到即使对于小数组,原生forEach有时也太慢了。看这个例子:vara=[],b=[];a[1234567]='foo';b[10]='bar';a.forEach(function(arg1,arg2){console.log(arg1,arg2);});//1//vsb.forEach(function(arg1,arg2){console.log(arg1,arg2);});//2在我的Chromium(25.0.1364.160Ubuntu12.04)中,第1行和第2行的执行时间是不同的数量级。我知道a的长度等于1234568,而b的长度等于10。但是原生的forEach

javascript - 总是使用 jquery 选择器或将它们缓存在变量中?

jQuery选择器很棒,但有时我发现自己一遍又一遍地输入它们,这有点烦人。$('#mybutton').click(function(){$('#message-box').doSomething();$('#message-box').doSomethingElse();$('#message-box').attr('something','something');});我经常喜欢在变量中缓存我的对象:$('#mybutton').click(function(){varmsg=$('#message-box');msg.doSomething();msg.doSomethingEl

javascript - 处理大量元素时隐藏/显示功能的性能极慢

当我在Mac上的Safari和Chrome中执行$("#myDiv").show()和$("#myDiv").hide()时,我遇到了糟糕的性能,包括IE6在内的所有其他浏览器在PC和Mac上运行良好,所以这是一个Webkit问题。div“myDiv”包含大量元素,包括大量复选框、JqueryUI选项卡和3个slider。我尝试使用“addClass”而不是显示/隐藏,我尝试将边距设置为-10000并返回到0,但这些似乎都无济于事。是否有变通办法或者这是这些浏览器的限制? 最佳答案 好吧,我为此深表歉意,但这太令人兴奋了....经过