草庐IT

OPTIMIZATION

全部标签

javascript - 当页面上存在透明 PNG 时,站点上的所有 Javascript 在 Firefox 4 中执行得非常慢

ETA更新:我发现如果我从我的站点中删除所有透明的.png文件,大约有5个,它运行良好。这很奇怪。赞成票会很有帮助,我在多台计算机上对其进行了测试,4/15有这个问题。谢谢!有什么想法吗?在PCFirefox和所有其他浏览器上运行良好,但在4/15计算机上的MacFirefox上,Javascript非常慢,特别是菜单栏。我在站点外对它们进行了测试,它们工作正常。这个问题好久了,不知道怎么解决。已更新,如果我从站点中删除透明PNG,问题就会消失,例如左上角的横幅。我的网站:http://thenozzle.net/所有的javascript都比其他浏览器慢一点,两个最大的是菜单栏和视频

javascript - 捆绑脚本中的 $(document).ready()

最近我在网络优化方面做了很多工作,遇到了一个有趣的问题。我想知道是否有人知道现有的解决方案。假设您有多个页面特定的外部.js文件,每个文件都有自己的页面特定$(document).ready()功能。假设第1页的文档准备功能将样式应用于每个在正文中,而第2页中的文档仅样式秒。只是一个简单的例子。现在假设您将这2个脚本与所有库脚本捆绑在一起,以减少页面加载时的http请求数。现在,两个documentready都将触发,第2页上的li将使用仅适用于第1页的代码进行格式化。我的问题是-有没有办法通过jQuery或第三方库将准备好的特定文档分配给特定页面,但仍然将它们全部捆绑到一个.js文件

javascript - 什么更快?运行空函数或检查函数是否未定义?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我正在编写一些代码,其中作为参数传入的函数有时可能未定义。对这种不好的“做法”感到好奇,我想知道实际上更快的是什么?提供一个空函数,或者让函数检查参数是否未定义?我做了以下测试来尝试。答案很意外!vartimesTest=1000;functionempty(){}console.time('runninganemptyfunction');for(vari=0;i在低数值时,检查未定义的

javascript - 尝试优化我的代码以删除嵌套循环或使其更高效

我的一个friend取了一个从1到n的数字序列(其中n>0)在这个序列中,他选择了两个数字,a和b他说a和b的乘积应该等于数列中除a和b之外所有数的和给定一个数字n,你能告诉我他从序列中排除的数字吗?我从CodeWars找到了这个Kata的解决方案,但是当我运行它时它在编辑器中超时(12秒后);还有什么想法我应该如何进一步优化嵌套的for循环和/或删除它?functionremoveNb(n){varnArray=[];varsum=0;varanswersArray=[];for(leti=1;i.as-console-wrapper{max-height:100%!importan

javascript - JavaScript 中的函数调用有多昂贵?

我一直在查看其他人的JavaScript代码,我注意到许多程序员倾向于创建可以与调用它们的函数组合的函数。一个例子是this;'initWebGL'函数可以与'start'函数结合使用,并且功能相同。另一个例子在this的来源中,其中每15毫秒调用一次的函数“tick”会调用另外两个可以与“tick”结合使用的函数。我理解这对组织的影响,但我很好奇这对绩效的影响。这样做是好的做法吗,尤其是考虑到JavaScript是一种解释型语言? 最佳答案 任何语言的最佳实践是首先编写可读和可维护的代码,然后在需要时进行优化。如果你的程序运行得足

javascript - 在这种情况下,扩展原型(prototype)链如何提高性能?

我长期以来一直认为深prototypechains导致属性访问器的性能下降。我试图在hidethegetteroraddintheprotoObject上解释这一点当一个快速benchmarkIthrewtogether结果与我的预期完全相反。这是怎么回事?我是否遗漏了一些明显的东西,或者这是否完全表明我(和其他人)对prototype链上属性访问器的性能的假设是错误的?设置constobject1={foo:'Hello,World!',getbar(){returnthis.foo}};constobject2=Object.assign(Object.create({getbar

javascript - 当您不知道属性是什么时,有没有一种方法可以在 javascript 中干净地使用隐藏类?

我有一个(GIS)项目,它向客户显示大量客户数据(数千条记录)。在必要/可能/需要的地方,我们使用服务器端分页/过滤/数据操作,但在某些情况下,将JSON格式的数据发送到客户端并让他们的浏览器进行过滤是最有效的。数据量很大,因此我们对其进行格式化以节省带宽和解析时间-我们发送的结构不是单个对象,而是首先包含属性名称,然后是单个平面数组中的值。在客户端,我们在进行其他处理之前将其重建为更传统的json对象。例如:{attrNames:["foo","bar"],values:[1,2,3,4,...])->[{foo:1,bar:2},{foo:3,bar:4},...]执行此操作的代码

javascript - immutable.js 过滤和变异(删除)找到的条目

我有两个循环,一个用于每个月的每一天,另一个用于本月的所有事件。假设我有100000个事件。我正在寻找一种方法来从主要事件List中删除事件,一旦它们被“消耗”。代码是这样的:constcalendarRange=[{initialDate},{initialDate},{initialDate},{initialDate},...]//saywehave30dates,oneforeachdayconstevents=fromJS([{initialDate},{initialDate},{initialDate},...])//let'ssaywehave100000calenda

javascript - 如何跟踪在 Javascript 中创建了多少个数组?

我希望能够跟踪某个程序使用了多少数组,这样我就可以弄清楚是否分配了不必要的内存。我遇到的问题是Javascript的构造,即数组文字[]不会触发Array#constructor。我还有其他方法可以跟踪数组的使用情况吗?ES5和/或ES6及更高版本。vararrayConstructor=Array//storereferencewindow.arrCount=0window.Array=function(){arrCount++;returnnewArray();}vararr1=newArraywindow.arrCount//1vararr2=[]window.arrCount/

javascript - 优化参数有什么用?

众所周知,在JavaScript中不正确地使用arguments可能会导致函数不可优化(参见here和herebytheend):functionnotOptimisable(a,b){//Optimisingcompilersays:Nope.varargs=[].slice.call(arguments)}但是,到目前为止,没有任何消息来源能够解释为什么这会阻止优化的发生。更令人难以置信的是,我所要做的就是functionoptimisable(a,b){//Optimisingcompilersays:Icandothis!varargs=newArray(arguments.l