草庐IT

迭代计算

全部标签

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实现来说太慢了吗?还是预期性能不佳? 最

javascript - 树行者迭代

是否可以使用treewalker跳过当前子树中的迭代并跳转到下一个节点?例子paragraphonetwoparagraph和jsvarnav=document.getElementsByTagName("nav")[0];vartree=document.createTreeWalker(nav,NodeFilter.SHOW_ELEMENT,null,false);tree.firstChild();//firstparagraphtree.nextSibling();//ultree.firstChild();//firstlichidofultree.nextNode()||t

javascript - 在迭代时 knockout foreach 绑定(bind)调用点击事件

我正在使用knockout的foreach绘制带有可点击单元格的表格第一列和表标题用于表内的人口值。从代码片段可以看出,我正在使用一些css绑定(bind),并将模态弹出对话框绑定(bind)到单元格单击事件。表格按预期绘制,一切正常,但第一次加载表单时,即使没有单元格点击,我的模态表单也会弹出。我试图找出发生这种情况的原因,发现内部迭代knockout不仅绑定(bind)了点击事件,而且还调用了点击事件的处理函数(显示弹出窗口)。我假设问题出在knockout绑定(bind)上。这个问题有什么解决办法吗?如何避免在foreach迭代中调用函数? 最佳答案

javascript - 尝试从元素中删除类时,for 循环仅迭代一次

在Javascript中,我有一个函数可以找到页面上具有“已连接”类的元素,并且当单击按钮时,这些元素的类将被清除。我写了这段代码:varprev_connected=document.getElementsByClassName("connected");if(prev_connected.length>0){for(varj=0;j但是,它只会删除页面上第一个“已连接”元素的类属性。当我有两个“已连接”元素时,我已确认“prev_connected”数组确实包含2个值,但出于某种原因,for循环永远不会到达第二个值。我做错了什么吗?谢谢。 最佳答案

javascript - 我怎样才能计算出行中的三个元素中的每一个都可以有 300px 的宽度?

我正在尝试使用flexbox制作“我自己的框架”。flexbox最头疼的是排奇数个元素:3,5,7。所以想用js/jq解决。例如,如果元素的宽度为300px或更小-元素变为宽度的100%。我正在使用jq代码:functioncheck(){varwindow=$(document).outerWidth();varwidth=$('.one-third').outerWidth();if(width但问题是当函数根据CSS规则将元素的宽度设置为100%时,脚本根据其IF语句重新计算并且元素开始闪烁。谁能帮我解决这个问题?代码片段。functioncheck(){varwindow=$(

javascript - 如何迭代 ES6/2015 类实例的属性

给定这两个类classFoo{f1;getf2(){return"a";}}classBarextendsFoo{b1;getb2(){return"a";}}letbar=newBar();什么代码可以从bar实例中获取这个属性列表?['f1','f2','b1','b2']HereisaBabelsample更新这应该是@MarcC的回答的一部分:使用装饰器,我可以轻松地将不可枚举的属性转换为可枚举的属性:classBarextendsFoo{@enumerable()getb2(){return"a";}}这是装饰器源代码:functionenumerable(){returnf

javascript - 带有 vuex 的 Vue js 使用 v-for 和 v-model 计算属性

我需要将v-for与v-model结合使用。我读了docs并且没有示例说明如何在不在变异处理程序之外执行变异的情况下将它与v-for一起使用。如何在不直接改变属性的情况下在v-for中使用v-model?0{{n}}//componentmethods:{...mapMutations({addToCart:ADD_TO_CART})}, 最佳答案 不确定我是否完全理解您的问题,但请查看以下内容:编辑已更新为使用Vuex-但不是通过v-model,因为那样不会调用所需的突变或操作conststore=newVuex.Store({s

javascript - 在javascript中编写迭代器的最佳方法

我正在用Javascript构建一个复杂的对象,我想在该对象的内部集合上公开一个迭代器。我能想到的唯一方法是在prototype.js中公开迭代器的常用方法:customObject.each(function(item){...})迭代器each为集合中的每一项依次调用提供的函数。你知道其他可靠的方法吗?也许有一种方法可以让用户使用通常的foreach构造? 最佳答案 原型(prototype)样式函数是一个不错的选择,但您也可以考虑像这样的东西:overlayRegistry=function(){varoverlays=[];

javascript - if with a continue 是一个很好的模式来防止在 Javascript 中迭代属性时过度嵌套吗?

我通常使用这种模式来迭代对象属性:for(varpropertyinobject){if(object.hasOwnProperty(property)){...}}我不喜欢这种过度的缩进,最近有人向我指出我可以通过这样做来摆脱它:for(varpropertyinobject){if(!object.hasOwnProperty(property)){continue;}...}我喜欢这个,因为它没有引入额外的缩进级别。这种模式可以吗,或者有更好的方法吗? 最佳答案 我个人比较喜欢:for(varpropertyinobject)

javascript - 如何计算 JavaScript 中字符串的长度(以像素为单位)?

如何在JavaScript中计算字符串的长度(以像素为单位)? 最佳答案 你可以使用简单的代码varcanvas=document.createElement('canvas');varctx=canvas.getContext("2d");ctx.font="11pxArial";varwidth=ctx.measureText(str).width; 关于javascript-如何计算JavaScript中字符串的长度(以像素为单位)?,我们在StackOverflow上找到一个类似