草庐IT

反向迭代器

全部标签

javascript - 我如何在每次迭代之间间隔循环中为 DOM 元素设置动画?

我有一个函数foo,我想添加一个sleep/等待函数来制作一种DOM元素动画。我已经做了一些研究,我知道暂停javascript函数是不可能的,因为它会卡住浏览器-如果我错了请纠正我。我该如何克服它?functionfoo(){while(someCondition){var$someDiv=$('.someDiv:nth-child('+guess+')');$someDiv.css({'background-color':'red'});wait1000ms$someDiv.css({'background-color':'blue'});wait1000msif(someCond

javascript - 如果对象传播不是可迭代的,它如何工作?

我正在学习传播的新用途。我意识到objectspread是一个ES2018提案。它以下列方式在Node10.5中工作:constoldObj={name:"doug",age:34};constnewObj={...oldObj};console.log(newObj);//{name:'doug',age:34}传播的一个有趣用途是将可迭代对象转换为数组。它适用于map,例如,为您提供一组值对数组constmappie=newMap().set("name","doug").set("age",234).set("profession","seekerofCthulhu");cons

javascript - 有没有办法在不迭代的情况下将匹配元素的 z-index 增加 1?

我必须将所有span类.page的z-index增加1。可以有超过100个匹配元素(在任何情况下都不能超过150)。现在我正在遍历它们中的每一个并通过以下代码更改z-index。$('#mydivspan.page').each(function(){varzi=parseInt($(this).css('z-index'))+1;$(this).css('z-index',zi);});有没有更好的方法来处理它以获得更好的性能。我正在使用jQuery。 最佳答案 一些棘手的方法是,创建新样式varstyle=document.cr

javascript - 如何迭代对象原型(prototype)的属性

我有一些代码:varobj=function(){};//functionalobjectobj.foo='foo';obj.prototype.bar='bar';for(varpropinobj){console.log(prop);}令我惊讶的是,所有记录的都是foo。我希望for循环也遍历obj原型(prototype)的属性(即bar),因为我没有检查hasOwnProperty。我在这里错过了什么?是否也有一种惯用的方法来遍历原型(prototype)中的所有属性?我在Chrome和IE10中对此进行了测试。提前致谢。 最佳答案

javascript - jQuery.parseHTML 的反向

jQuery.parseHTML()生成一个数组。我正在寻找一种将其转换回字符串的方法。这是我的首要问题。parseHTML()是将字符串视为html的唯一方法吗?基本上,我将我的字符串解析为html,以便我可以使用jQuery的find()函数来匹配某个元素,然后仅对该部分代码执行替换(有关详细信息,请参阅mypreviousquestion)。那么,是否需要解析为html? 最佳答案 一个简单的函数functionhtmlToSource(selector){return$('').append($(selector).clon

javascript - for循环(每次迭代都会产生一个 promise )完成后如何返回单个 promise ?

我的promise返回代码有问题,我有一个函数getTagQuotes,它包含一个for循环,它可以多次调用API以将数据返回到数组中。我的代码是如何开始的://Iftherearetags,thenwaitforpromisehere:if(tags.length>0){//SettingpromisevartogetTagQuotes:varpromise=getTagQuotes(tags).then(function(){console.log('promise=',promise);//Thisarrayshouldcontain1-3tags:console.log('tw

javascript - 如何在 Javascript 中对正则表达式反向引用匹配执行操作?

在javascript中,我有一个包含数字的字符串,我想将值递增1。例子:varstring="Thisisastringwithnumbers12345678910";vardesiredResult="Thisisastringwithnumbers234567891011";使用正则表达式,是否可以对匹配的反向引用执行操作(在本例中为加法)?A找到了一个类似的question使用ruby:string.gsub(/(\d+)/){"#{$1.to_i+1}"} 最佳答案 使用string.replace以函数作为第二个参数:v

javascript - 将循环的每次迭代延迟一定时间

JSFiddle:http://jsfiddle.net/KH8Gf/27/代码:$(document).ready(function(){$('#expand').click(function(){varqty=$('#qty').val();for(varcounter=0;counternewtext');}});});如何将循环的每次迭代延迟特定时间?我尝试了以下失败:setTimeout(function(){$('#child').html($('#child').html()+'newtext');},500);和$('#child').delay(500).html($

javascript - 反向 switch 语句是否可以接受 JavaScript?

JSLint提示(true)是一个奇怪的条件。如果我没有在反向switch语句中使用它,这是可以理解的。那么JSLint是错误的还是我不应该使用反向switch语句?感谢您的帮助/启发。switch(true){case(menuLinksLength3&&menuLinksLength6&&menuLinksLength9):numberOfColumns=4;break;default:numberOfColumns=0;} 最佳答案 就我个人而言,我不希望在代码库中看到颠倒的switch。与普通的if/elseifblock相

javascript - 迭代 Backbone 集合

我已经为Users设置了一个Backbone集合,当我执行fetch方法时,我按照以下行取回了一个JSON对象:{"users":[{...},{...},...],size:number}来自服务器。令人困惑的是,当我执行下面的代码时,我得到的不是每个user对象,而是一个“子”对象,它有两个属性:users和大小;谁能帮我理解为什么?谢谢。display:function(){this.collection.each(function(user){console.log("main",user);});} 最佳答案 在集合上添加