草庐IT

for-each-group

全部标签

javascript - 为什么在 javascript 中退出循环后 for 循环计数器没有被销毁?

for(vari=0;i在javascript中,这将使我们得到5其他语言,如C++、java、c#....只会给出一个错误,即i变量未在上下文中定义。那么为什么在javascript中for循环计数器在退出循环后没有被销毁? 最佳答案 这是因为JavaScript引擎会将变量声明移动(“提升”)到函数的顶部,无论它在函数内的何处声明1。JavaScript没有block作用域。{//Somecodefor(vari=0;i相当于:{vari;//..somecodefor(i=0;i1除非异常被catch捕获条款;该变量的范围为c

javascript - 为什么我的 JavaScript for 循环会跳过元素?

这个问题在这里已经有了答案:StrangebehaviorwheniteratingoverHTMLCollectionfromgetElementsByClassName(3个答案)关闭6年前。我有一个遍历一组元素的for循环,从每个元素中删除'selected'类。但是,它会跳过每第二次迭代。我发现我可以通过添加j--来解决这个问题,我想除了加长我的代码外,这很好。但我想知道是否有人可以解释为什么它会跳过,并且可能会建议一种更简洁的代码编写方式?(我仍在学习技巧,想确保我了解发生了什么。)varselections=document.getElementsByClassName(n

javascript - 为什么 `const` 值在 `for...in` 和 `for...of` 循环内部发生变化?

Constantsareblock-scoped,muchlikevariablesdefinedusingtheletstatement.Thevalueofaconstantcannotchangethroughre-assignment,anditcan'tberedeclared.根据MDNconstant的值不能通过重新赋值改变,也不能被重新声明,所以里面for...in和for...of的工作情况如何?constdata=['A','B','C','D'];//Hereconstkeyischangedfor(constkeyindata){console.log('key

javascript - 在 Chrome 中工作,但在 Safari 中中断 : Invalid regular expression: invalid group specifier name/(? <=\/)([^#]+)(?=#*)/

在我的Javascript代码中,这个正则表达式/(?在Chrome中工作正常,但在safari中,我得到:Invalidregularexpression:invalidgroupspecifiername有什么想法吗? 最佳答案 看起来像Safaridoesn'tsupportlookbehindyet(即您的(?)。一种替代方法是将/在非捕获组之前出现的,然后仅提取第一组(/之后和#之前的内容)。/(?:\/)([^#]+)(?=#*)/此外,(?=#*)很奇怪-你可能想要向前看某些东西(例如#或字符串的末尾),而不是*量词(

Javascript/正则表达式 : Lookbehind Assertion is causing a "Invalid group" error

我正在做一个简单的LookbehindAssertion来获取URL的一部分(下面的示例),但我没有获得匹配,而是收到以下错误:UncaughtSyntaxError:Invalidregularexpression:/(?这是我正在运行的脚本:varurl=window.location.toString();url==http://my.domain.com/index.php/#!/write-stuff/something-else//lookbehindtoonlymatchthesegmentafterthehash-bang.varregex=/(?结果应该是write-

Javascript - 如何在带有回调的 for 循环中使用迭代器

我正在尝试在for循环中访问回调函数使用的i的值。我该怎么做?for(vari=0;i调用...functioncalcRoute(x,y,callback){varstart=x;varend=y;varrequest={origin:start,destination:end,travelMode:google.maps.TravelMode.DRIVING,unitSystem:google.maps.UnitSystem.METRIC,optimizeWaypoints:true};directionsService.route(request,function(respons

javascript - jQuery .each() 没有按预期迭代字符串数组

正在做:vartags=["foobar","hello","world"];$.each(tags,function(tag){console.log(tag);});给我输出012为什么我的输出不是foobarhelloworldJSFiddle 最佳答案 这样做,第一个参数是索引:$.each(tags,function(index,tag){console.log(tag);}); 关于javascript-jQuery.each()没有按预期迭代字符串数组,我们在StackOv

javascript - 我怎样才能让 Ember.js handlebars #each 遍历对象?

我正在尝试让{{#each}}帮助器迭代一个对象,就像在VanillaHandlebars中一样。不幸的是,如果我在一个对象上使用#each,Ember.js版本会给我这个错误:断言失败:#each循环的值必须是数组。你传递了[objectObject]我写了这个助手试图解决这个问题:Ember.Handlebars.helper('every',function(context,options){varoArray=[];for(varkincontext){oArray.push({key:k,value:context[k]})}returnEmber.Handlebars.he

javascript - Jquery each() : variable in callback always has last value?

似乎无法弄清楚这里发生了什么。DiscoverDocumentationDownloadDonate$('.navItem').each(function(){$link=$(this).children('a');$link.hover(function(){$link.css('width','224px');},function(){$link.css('width','192px');})});http://jsfiddle.net/Sth3Z/它应该为每个链接都这样做,而不是它只更改最后一个链接,无论将鼠标悬停在哪个链接上。 最佳答案

JavaScript "for (var i = 0; ...) { ... }"浏览器不兼容?

我有一段时间没有认真地进行JavaScript编程了,我正在为我的一些同事编写该语言的介绍指南。我想讨论循环最佳实践,但有一个小细节我一直记在脑后:当遍历数组时,我记得以下模式使用起来不安全,因为有不支持它的主要浏览器:for(vari=0;i相反,必须将var关键字移出数组,如下所示:vari;for(i=0;i这是正确的吗?我已经在网上搜索过,无法确认这一点。是不是有些老浏览器不支持第一种方式?如果不是,哪些不是? 最佳答案 "Isthiscorrect?"除非我们谈论的是一些非常非常旧的浏览器,否则我不知道今天使用的浏览器有任