草庐IT

javascript - 隐藏数千个 <li> 元素的最快方法?

我有一个自动完成表单,用户可以在其中输入一个术语,它会隐藏所有不包含该术语的元素。我最初遍历了所有使用jQuery的each并应用.hide()那些不包含该术语的。这太慢了。我发现一个更快的方法是遍历所有并申请类(class).hidden所有需要隐藏的,然后在循环结束时做$('.hidden').hide().不过,这感觉有点老套。可能更快的方法是重写.hidden的CSS规则类使用document.styleSheets.谁能想到更好的方法?编辑:让我澄清一些我不确定有多少人知道的事情。如果您在循环的每次迭代中更改DOM,并且该更改会导致重新绘制页面,那么这将比“准备”所有更改并在

javascript - 检测一个值是否在 Javascript 中的一组值中的最快方法

我在Javascript中有一组字符串,我需要编写一个函数来检测另一个特定字符串是否属于该组。实现此目标的最快方法是什么?是否可以将一组值放入一个数组中,然后编写一个搜索数组的函数?我认为如果我对值进行排序并进行二分查找,它应该会足够快。或者是否有其他一些更聪明的方法可以更快地执行此操作? 最佳答案 使用哈希表,然后这样做://InitialisethesetmySet={};//AddtothesetmySet["somestringvalue"]=true;...//Testifavalueisintheset:if(testV

javascript - 绘制到 HTML 5 Canvas 的最快方法是什么?

我正在研究仅使用HTML的Canvas作为显示媒体制作游戏的可能性。以我需要完成的示例任务为例,我需要从多个等距图block构建游戏环境。当然,在2D中工作意味着它们必须采用矩形包装,因此图block之间有很大的重叠。我已经足够大了,这个问题的自然解决方案是调用BitBltMasked。哦等等,不,HTMLCanvas没有像BitBlt这样简单和令人愉悦的东西。似乎将像素数据转储到Canvas中的唯一方法是使用没有忽略alphachannel的有用绘图模式的drawImage()或使用在数组中具有图像数据的ImageData对象。使用权。是。界限。检查。和。所以。狗。慢。好吧,这与其说

javascript - 为 url 编码西里尔字母的最快方法

如果您将下面的链接复制到浏览器中http://be.wikipedia.org/wiki/Беларусь它将显示Wiki文章。但是一旦您想将该链接(或包含西里尔符号的任何其他链接)从浏览器url复制到记事本中,您将得到如下内容:http://be.wikipedia.org/wiki/%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C您可以单击维基百科中文本中包含西里尔字母的任何链接,然后尝试将其复制到记事本中。所以,我的问题是:将任何包含西里尔文字Беларусь的文本转换为%D0%91%D0%B5%D0%BB%D0%B0%D1%80的

javascript - javascript 中最快的斜边?

看到很多关于javascript模拟和动画的题,经常涉及计算斜边:hypot=Math.sqrt(x*x+y*y);由于笛卡尔坐标系是大多数此类引擎的首选武器,因此需要进行这些计算以找出点对之间的距离等。因此,计算斜边的任何加速都可能对许多项目有很大帮助。为此,您能找到比上面的简单实现更快的方法吗?基于thisapproximationfunctioninSuperCollider,我发现了一个近似值,它在Chrome中稍微快一些,但在Firefox中却慢得多。.编辑2015-08-15:我已将接受的答案改为Math.hypot答案;我怀疑目前实用的方法是使用Math.hypot或合成

javascript - 计算数组元素总和的最快方法

我正在尝试找到计算数组中包含的元素总和的最快方法。我设法使用eval()做到了,但我认为evalasevil.vararr=[10,20,30,40,50];console.log(eval(arr.join('+')));//logs150除了使用for循环之外,还有更好的方法吗?我正在考虑更多类似的事情,但它不起作用:vararr=[10,20,30,40,50];console.log(newNumber(arr.join('+')));//logsaNumberObjectconsole.log(newNumber(arr.join('+')).toString());//lo

javascript - 在 JavaScript 中求平方的最快方法是什么?

在JavaScript中求平方的最快方法是什么?functionsquareIt(number){returnMath.pow(number,2);}functionsquareIt(number){returnnumber*number;}或者其他一些我不知道的方法。我不是在寻找打高尔夫球的答案,而是平均而言在编译器中可能最短的答案。编辑:我看到了Whyissquaringanumberfasterthanmultiplyingtworandomnumbers?这似乎表明平方比两个随机数相乘更快,并假定n*n不会利用这一点,但Math.pow(n,2)会。正如jfriend00在评论

javascript - jquery 和 CSS 中最快的选择器方法 - ID 与否?

jquery/javascript中什么最快?$('#myID.myClass')或$('.myClass')在CSS中最好使用什么?#myID.myClass{}或.myClass{}我现在明白我应该解释得更好。抱歉!OfceauceID是CSS和JavaScript中更快的选择器。但有时您需要使用类,因为有多个选择器。例如,我有一个很大的html文档。在页面中间我有:link1link1link1如果我想定位所有“myClass”。那么在定位类之前定位ID会更好吗?(这样我就不必对整个HTML文档进行domtravel)例如:这会不会:$('#myID').find('.myCla

javascript - 在 javascript 中生成随机整数的最快方法是什么?

通常这就是您在javascript中获取随机数的方式。Math.random();但是,这种方法在生成随机整数时似乎效率很低。首先,随机函数必须生成一个随机小数,如0.1036098338663578,然后它必须乘以一个合适的范围(10.464593220502138)。最后,floor函数减去小数以产生结果(在本例中为10)。varrandom_integer=Math.floor(Math.random()*101);有没有更快的方法在javascript中生成随机整数?编辑1:我正在使用它来创建CanvasHTML5游戏。FPS大约为50,除了生成随机数之外,我的代码经过了相当优

javascript - 最快的 DOM 插入

插入DOM的最佳做法是什么?在循环中一次插入大块html与元素是否更快?插入什么html重要,还是仅插入block有多大重要?插入表格与使用表格hack仅插入行相比更快吗? 最佳答案 设置innerHTML通常比插入单独的节点更快。另一种可能性是createaDocumentFragment,它允许一次插入所有节点。使用DocumentFragments的另一个优点是它们可以很容易地成为cloned,它可以替代innerHTML的许多用例,并且由于不涉及解析,因此可能更快。 关于java