草庐IT

while循环

全部标签

javascript - 在MVC中防止循环事件的优雅方法?

问题简而言之:在MVC中,您如何区分复选框单击(或选择框或列表框更改)与人为“Controller,修改模型”的意思,以及Controller的复选框单击(或选择框或列表框更改),意思是“我”我因为模型已经改变而更新View”?示例:我有一个JS应用程序(都是一个大的HTML+JS页面;它背后有一个服务器,AJAX正在运行,但这对示例来说并不重要)它具有由“边缘”连接的“顶点”概念。UI允许您在map上添加和删除顶点,以及启用或禁用顶点对之间的边。有两种方法可以禁用从顶点A到顶点B的边:单击边缘使“边缘详细信息”窗口为您提供“禁用此边缘”按钮;或单击顶点A(或B)以使“顶点详细信息”窗

javascript - javascript中的事件循环模型

基于:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop在处理下一个事件之前堆栈框架为空。那么为什么在下面的代码片段中警报显示1而不是0因为警报函数应该在回调之前运行vara=0;varb={};$(b).on("event",function(){a++;});$(b).trigger("event");alert(a);http://jsfiddle.net/nxjhokL0/谢谢! 最佳答案 让我们忽略这里有jQuery事件而不是nat

javascript - 当循环遍历 JS 数组的值并删除值时,是否需要使用 while 而不是 for?

varmyArray=[1,2,3,4,5,6,7,8,9];functionisOdd(value){returnvalue%2;}for(vari=0;i上面的代码采用任意长度的数组并检查每个值。如果数组位的值满足任意条件(在本例中为奇数),则将其从数组中移除。Array.prototype.splice()用于从数组中删除值,然后递减i以说明数组中的其余值“向下移动”以填补删除值留下的空白(因此循环不会跳过值)。但是,当i等于数组的长度时,for循环结束,随着值的删除,数组长度变短。myArray.length的值是随着循环的进行而动态减少,还是它在循环开始时保存值而不是在值被删

javascript - ES6 在循环之前或循环中声明变量

我应该在哪里以及如何声明在循环中使用的新变量?答:constmap=newMap(Object.entries(columns));letcols;for(let[key,value]ofmap){cols=value.split('|');//...}乙:constmap=newMap(Object.entries(columns));for(let[key,value]ofmap){letcols=value.split('|');//...}C:constmap=newMap(Object.entries(columns));varcols;for(let[key,value]o

javascript - 为什么for循环初始化中的 'in window'会导致语法错误?

这有效。vara='ontouchstart'inwindow;for(;;){console.log(a);break;}这会导致语法错误。为什么?for(vara='ontouchstart'inwindow;;){console.log(a);break;}这有效。for(vara=('ontouchstart'inwindow);;){console.log(a);break;} 最佳答案 Thiscausessyntaxerror.Why?避免与for-in-loops混淆。syntaxspecificationforfo

javascript - 如何打破 promise 中的循环?

我正在使用Bluebird库做一些QA(问题/答案)应用程序。所以这是场景:用户在表格中填写一些问题的答案(例如5个问题)。一个问题有不止1个可能的答案:“问题有很多答案”答案在数据库中使用node.bcrypt加密(bcrypt)在遍历答案时,如果用户答案匹配,则无需继续检查该问题的答案。所以这是同步做事时要解决的一个常见问题,但我有点迷失了用promise做异步。这是我不知道如何进行的示例:.then(function(answers){varcompare=Promise.promisify(bcrypt.compare);//foreachanswer,Ineedtocheck

javascript - 带有异步 forEach 循环的磁带 "test exited without ending"错误

我在做什么编辑:我创建了一个repo使用我的问题的简化版本重现问题。我正在尝试使用browserstack设置自动化前端测试,selenium-webdriver和tape.Moreabouttape这个想法是定义多个浏览器和设备,这些浏览器和设备必须用X数量的给定测试一个接一个地进行测试。在下面的例子中,我在OSX上只定义了一个测试和两个浏览器。为了只定义一次浏览器并处理测试,我创建了一个repotest-runner,它应该作为dev-dependency添加到需要的repos在给定的设备和浏览器上测试。test-runner使所有需要的测试都通过,启动第一个浏览器,在该浏览器上运

javascript - Backbone.js Jade 和循环模型

我对使用带有jade/underscore的backbone模板感到有点困惑。我有一个主干模型,里面有几个数组,我不确定如何渲染数组属性。我可以将它们移动到一个单独的主干集合和View中,但在这种情况下这似乎有点过分了。我关注了thisblogpostonusingbackbonewithjade并将以下内容添加到我的Backbone文件中_.templateSettings={interpolate:/\{\{(.+?)\}\}/g};它允许我在这个庄园中渲染模型属性://inmyJavaScriptthis.template=_.template($("#some-template

javascript - 如何使用 jQuery 循环元素中的单个 div

我正在尝试查看以下是否可行:我希望能够连续循环一个元素中的单个div[因此div的开始是在循环时同一个div的末尾。]这不一定是现有的插件。如果可能的话,我宁愿不克隆div。div的宽度将在循环之前通过javascript设置,但可能会进行少量调整。如果有任何想法,我将不胜感激! 最佳答案 jsBindemojQuery:$('.scroller').each(function(){$(this).find('img').clone().appendTo($(this));});(functionmove(){$('.scrolle

javascript - 防止 JavaScript 在大循环中锁定浏览器

我有一个循环需要在浏览器中运行2亿次。这是几个人需要经常使用的模拟器。运行大约需要15分钟,但是在这期间,浏览器会频繁弹出“这个脚本运行时间过长”等警告,导致Firefox在运行过程中彻底挂掉。这也意味着页面不会更新我的状态指示器(这只是一个数字)。我用谷歌搜索了“javascriptyield”并阅读了前4页的点击率。一些人讨论了一个新的“yield”关键字,但只有一个描述和示例,我觉得难以理解,例如“包含yield关键字的函数是一个生成器。当你调用它时,它的形式参数绑定(bind)到实际参数,但它的主体实际上并没有被评估”。yield是否屈服于UI?我找到的为数不多的解决方案之一是