草庐IT

while循环

全部标签

javascript - 为什么 ESLint 在 while(true) 使用纤程时触发 lint 错误?

我得到了带有一些无限循环的JS代码(我们正在使用节点纤维来允许事情发生)。ESLint讨厌:while(true){}因为条件不变。以下是允许的:for(;;){}除了喂养lintbeast,是否有任何客观理由支持for而不是while(反之亦然)?注意:这个问题明确要求客观原因,因此不仅仅是基于意见。 最佳答案 这些关于无限循环的规则来自于生成器出现之前,甚至没有意识到纤程。假设每个函数永远不会暂停和返回(如生成器、async-关键字函数或纤程),该规则对于警告循环中的常量非常有意义。现在时代变了-规则不再有意义,您正在做的事情完

javascript - ES6/7 中的循环依赖

我惊讶地发现,在Babel中,我可以让两个模块相互import而不会出现任何问题。我发现一些地方将此称为Babel中的已知和预期行为。我知道这被很多(我猜是大多数)人广泛认为是一种反模式,但是对于这个问题请忽略它:有谁知道这在ES6/7中是否(或将是)正确的行为?我能找到的最接近官方答案(和技术解释)的是thiscommenton2ality.com 最佳答案 这通常被认为是不好的做法。但是ES模块是为了支持循环依赖而设计的。ES2017规范中有一些信息15.2.1.16.3ResolveExportConcreteMethod.不

javascript - componentWillReceiveProps 和 componentDidUpdate 无限循环

我试图在从子组件更改状态后更新状态但没有成功,每次我调用该函数时都会出现堆栈溢出,prop无限次调用该函数,但问题是,我真的需要更新这个状态,目前不知道如何解决这个问题。父级importReact,{PropTypes,Component}from'react';importCardfrom'./card/card.js';importstylefrom'./style.scss';classContainerextendsComponent{constructor(props){super(props);this.state={isFlipped:false,oneOpened:tr

javascript - 为什么在嵌套函数外声明一个计数器变量会使循环变慢 5 倍?

我正在寻找一些我正在重新访问的JavaScript遗留代码的微优化,并注意到在最常调用的for循环中,计数器在全局范围内声明一次,在使用它们的函数之外。我很好奇这是否确实是一种优化,因此我在JavaScript中创建了以下测试用例:vartmp=0;functiontest(){letj=0;functionletItBe(){for(j=0;jletItNotBe()在Chrome、Firefox和NodeJS中的运行速度明显快于letItBe()Chrome:NodeJS:用var改变let没有区别。最初我的逻辑是,每次调用函数时都声明一个新的计数器变量确实比最初声明一个变量然后简

Javascript 异步循环处理

我有一个javascript循环需要一些时间来处理。我希望我能把它瘦下来,但它必须处理大量数据。当它运行时,浏览器当然会变得无响应。我读过在javascript中处理此问题的最佳方法是使用某种异步循环。这样鼠标点击等可以在循环处理之间继续处理。是否有任何适用于此的标准异步框架?或者有人可以提供一个简单的例子来说明如何编码吗?谢谢! 最佳答案 遗憾的是,WebWorkers还不能在每个人的浏览器上使用。我一直在使用“setTimeout(Func,0);”大约一年的把戏。这是我最近写的一些研究来解释如何加快速度。如果您只想要答案,请跳

javascript - 在上传循环期间获取字节位置

我正在开发一个函数,该函数将使用第3方API将数据分块写入远程服务器。通过StackOverflow上的一些帮助,我能够完成此任务,现在它正在按预期工作。问题是我只能写入一个16kb的block,因为我需要提前写入下一个字节的位置的pos。初始写入很容易从0开始。由于我对此不熟悉,我不确定下一个pos应该只是16还是什么。如果有帮助,API调用writeFileChunk()需要3个参数,文件路径(str)、pos(int64)和数据(base64编码字符串)。reader.onload=function(evt){//GetSERVER_IDfromURLvarserver_id=g

javascript - for循环与forEach在javascript中的性能和jsperf结果的可信度

我不相信jsperf测量for循环与forEach性能的结果。至少对于我机器上的chrome和firefox结果与jsperf中宣传的结果完全不同。http://jsperf.com/foreach-vs-loop(我的)http://jsben.ch/#/BQhED(更受欢迎)在运行Ubuntu11.10的笔记本电脑上,我在Firefox中得到以下结果:for:total=1641ms,avg=164.1msforEach:total=339ms,avg=33.9msuname-a:Linux3.0.0-16-generic#29-UbuntuSMPTueFeb1412:48:51U

javascript - 在 JavaScript 中循环读取数组值

我在JavaScript中有一个数组,其中定义了这些值:varmyStringArray=["1","2","3","4","5","6","7","8","9","10"];当我第一次调用一个函数时,我需要得到这个:123再次调用它我需要得到:456再次调用:789再次调用:1012再次调用:345等等。你明白了,显示了数组中的3个值,如果我们在数组的末尾,请从头开始读取......我有一个具有远程控制并具有向下和向上键的应用程序。如上例所述,当用户按下向下按钮从数组中获取这些值时,如果用户按下向上按钮,则需要从示例返回...因此循环读取数组(最后,该数组从头开始读取,但始终显示三个

javascript - ForEach 循环是否允许使用 break 和 continue?

ForEach循环是否允许我们使用break和continue?我试过同时使用两者,但我收到了一个错误:Illegalbreak/continuestatement如果允许,我该如何使用它们? 最佳答案 不,它没有,因为你将回调作为返回传递,它作为普通函数执行。让我说清楚:vararr=[1,2,3];arr.forEach(function(i){console.log(i);});//islikevarcb=function(i){console.log(i);//would"break"heredoanything?//wou

javascript - 彩虹色文字的循环动画

使用JavaScript/jQuery在悬停时循环显示颜色我正在尝试获取一段文本,根据HSL0deg和360deg之间的计算位置为每个字母着色,并在悬停时将颜色动画化到右侧。我知道这很奇怪,但请耐心等待。我想要的是悬停时的动画彩虹文字。我已经介绍了让所有这些都发生一次的逻辑,但是无法让悬停循环行为起作用。这里是codepen.io的链接:http://cdpn.io/txmlf我尝试过使用JavaScript鼠标事件和jQuery的.hover()。我最初的想法是在鼠标进入时设置一个间隔并在退出时清除它。对于这个显然非常重要的元素,我非常感谢任何帮助。 最佳