草庐IT

Javascript for..in vs for 循环性能

全部标签

javascript - promise 中的超时循环在 promise 解决后永远不会执行?

我遇到了一个问题,即从已解决的promise发送到setTimeout的回调永远不会执行。假设我有以下内容:classFoo{constructor(foo){this.foo=foo;}asyncexecUntilStop(callback){consttimeoutLoopCallback=()=>{if(this.stopExec)return;callback({data:'data'});setTimeout(timeoutLoopCallback,10);};setTimeout(timeoutLoopCallback,10);return{data:'data'};}st

javascript - React setState 在 while 循环期间不设置状态

我想避免数据倍增,所以我想创建一个循环来为不同的site_id调用我的数据提供者。我创建了一个while循环并在此while循环中设置状态值。我意识到从我的2元素数组(我有2个站点)中只有1个被设置在状态中,而另一个没有。classDashboardextendsComponent{state={username:localStorage.getItem('username'),siteid:[{id:1,daily:"EKdaily",weekly:"EKweekly",monthly:"EKmonthly",total:"EKtotal",},{id:2,daily:"AKdail

JavaScript:为什么 "for in"循环从 __proto__ 中选取变量?

我在Object的原型(prototype)中添加了一个方法trigger:Object.prototype.trigger=function(){//...returnthis;};然后有一个“forin”循环:varobj={4:15,10:41,11:46,12:51,20:74}for(iteminobj){foo(obj[item]);}但是这个循环有6次迭代而不是5次。最后一次迭代是带键的:item="trigger"为什么循环遍历对象的__proto__部分? 最佳答案 for...in遍历所有对象属性,而不区分对象本

javascript - 在循环的每次迭代中都使用 setState 是不好的做法吗?

这是一个小代码片段:asynccomponentDidMount(){...this.state.postList.forEach(element=>{this.fetchItem(element);});}asyncfetchItem(query){...this.setState(previousState=>{constlist=[...previousState.data,data];return{data:list};});}我很想知道在forEach循环的每次迭代中使用setState是否是个坏主意。我怀疑它会影响性能,但我想确定地知道,因为这似乎是解决此问题的最简单方法。

javascript - 提高长轮询 Ajax 性能

我正在编写一个网络应用程序(仅与Firefox兼容),它使用长轮询(通过jQuery的ajax功能)从服务器向客户端发送或多或少的持续更新。我担心长时间运行(例如,整天或整夜)的影响。基本的代码框架是这样的:functionprocessResults(xml){//dostuffwiththexmlfromtheserver}functionfetch(){setTimeout(function(){$.ajax({type:'GET',url:'foo/bar/baz',dataType:'xml',success:function(xml){processResults(xml)

javascript - 实时 ('click' ) 和性能

我有一个网格,有一列包含中带有一些附加信息的anchor标记标签并有一个类名.在我不显眼的JS脚本中,我选择了所有具有该类名的元素并应用live('click').我需要它是live()因为网格是在运行时生成的。live('click')里面发生了什么处理程序?我使用该附加数据并添加到基于该数据的页面。它又用于生成jQueryUI对话框。它在我的电脑上运行良好。但是!这在现实世界中如何运作?我应该为可能的性能影响而烦恼吗?感觉瞬间对十几个元素应用live()会影响性能。特别是对于像我这样相当复杂的处理程序——它需要获取数据、解析数据、创建一个div、应用一个对话框等等。这闻起来像是糟糕

javascript - 在 for 循环中生成一个 unicode 字符列表

我试图列出在for循环中使用计数器作为unicode字符的编号。这样做的目的,...可以说我这样做是为了好玩。当然,经验丰富的JavaScript用户能够告诉我这里出了什么问题。要在javascript中使用unicode字符,可以按原样输入,也可以使用转义序列,例如:\u8211。当我尝试将数字部分与转义的u结合起来时,我的问题就出现了。我得到的错误类似于“错误的转义字符”,这意味着i变量中的数字未与\u组合正如我所希望的那样。for(vari=65;i我尝试过的:character="\u{"+i+"}"cha=['\\u'];cha.push(i);cha.join('');..

javascript - 如何从 Python 生成 D3.js 循环树状图代码

下图是用D3.js生成的。基于代码here:FlareDendrogram.nodecircle{fill:#fff;stroke:steelblue;stroke-width:1.5px;}.node{font:10pxsans-serif;}.link{fill:none;stroke:#ccc;stroke-width:1.5px;}varradius=960/2;varcluster=d3.layout.cluster().size([360,radius-120]);vardiagonal=d3.svg.diagonal.radial().projection(functio

Javascript foreach 循环性能

我正在考虑改进我们的一些foreach循环,并创建了一个测试基准来比较我们使用它们的不同方式。测试可以foundhere.我惊讶地发现这段代码:functionadd(val){sum+=val;}values.forEach(add);比这个表现更好。values.forEach(function(val){sum+=val;});这些不完全一样吗?是什么让第一个代码片段比第二个更快? 最佳答案 你的测试有问题。您的测试是:values.forEach(add);和values.forEach(function(val){sum+

javascript - javascript 中 MD5 计算的预期性能?

我正在尝试使用javascript计算MD5并查看fastestMD5ImplementationinJavaScript发布“JKM”实现被认为是更快的实现之一。我正在使用基于关闭JKM实现的SparkMD5。但是示例提供了https://github.com/satazor/SparkMD5/blob/master/test/readme_example.html一个13MB的文件大约需要10秒(使用调试器大约需要23秒),而在linux命令行中使用md5sum函数只需要0.03秒。这些结果对于javascript实现来说太慢了吗?还是预期性能不佳? 最