草庐IT

loop_test

全部标签

javascript - 为什么连续调用 `pattern.test(name)` 结果相反

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。为什么这段代码先返回true,然后返回falsevarpattern=newRegExp("mstea",'gi'),name="AmandaOlmstead";console.log('1',pattern.test(name));console.log('1',pattern.test(name));演示:Fiddle

JavaScript 性能 : Modulus operation of negative Number within decrementing loop slowing the code by more than 100%

我正在浏览EloquentJavaScript(再次)遇到练习"ChessBoard"ofChapter2.在我第一次阅读它的那天,我写了一个不错的解决方案版本,并在ElequentJavascriptwebsite提供了另一个版本的解决方案。.我是想成为super高效程序员的新手之一,他们脑子里只有一个问题:“我能让它工作得更快或更小吗?无论如何?”所以,几个月前我在网上搜索时,遇到了aquestion在StackOverflow上,关于for循环与while循环的性能比较。因为在该线程中提到for循环比while慢,而递减迭代器的循环更快,所以我重写了代码以获得更好的性能。这是新版

Javascript 正则表达式.test() "Uncaught TypeError: undefined is not a function"

只是尝试通过.test()函数使用javascript的正则表达式功能。varnameRegex='/^[a-zA-Z0-9_]{6,20}$/';if(nameRegex.test($('#username').val())){...}错误在这一行if(nameRegex.test($('#username').val())){调试器在那里中断并说“UncaughtTypeError:undefinedisnotafunction”。好像.test()没有定义?不应该吗? 最佳答案 就目前而言,nameRegex不是正则表达式而是

javascript - 守夜人 : Better way than `.pause(1000)` to avoid brittle tests?

.pause(1000)真的是等待表单提交的最佳实践吗?我正在寻找一种可靠地提交表单的方法,而无需知道作为表单提交结果出现的页面的详细信息。例子来自homepage使用.pause(1000)等待表单提交,具有讽刺意味的是不再起作用,但是这个带有修改后的css-selector版本的版本可以:module.exports={'DemotestGoogle':function(client){client.url('http://www.google.com').waitForElementVisible('body',1000).assert.title('Google').asser

javascript - jQuery append in loop - DOM 直到最后才更新

当遍历大型集合并将其附加到DOM时,DOM仅在所有项目都已附加后才刷新。为什么DOM在每次append()调用后都没有更新?我可以在每次附加后(或者可能在每n次附加后)强制DOM刷新吗?vari=0;for(i=0;iLineItem');}Linktojsfiddle注意:我知道可以通过将所有元素附加到局部变量,然后将该变量附加到DOM来实现更好的性能(避免DOM回流)。但我希望前n个元素呈现在屏幕上,然后是下n个元素,依此类推,直到呈现所有元素。 最佳答案 当Javascript运行时,浏览器中的大部分内容都会停止。这包括DOM

javascript - Jest : Testing window. location.reload

如何编写测试以确保方法reloadFn实际上重新加载窗口?我找到了thisresource但是我不清楚在给定函数中发生窗口重新加载时编写测试时如何期望窗口重新加载。感谢您的帮助!constreloadFn=()=>{window.location.reload(true);} 最佳答案 更新答案(2021年11月)包装:“开Jest”:“^26.6.0”"@testing-library/jest-dom":"^5.11.4"构建:create-react-app4describe("testwindowlocation'srelo

javascript - 在使用 react-test-renderer 的 Jest 快照测试中,Refs 为空

目前我正在componentDidMount上手动初始化Quill编辑器,Jest测试对我来说失败了。看起来我得到的ref值在jsdom中是空的。这里有问题:https://github.com/facebook/react/issues/7371但看起来refs应该有效。有什么我应该检查的想法吗?组件:importReact,{Component}from'react';importlogofrom'./logo.svg';import'./App.css';classAppextendsComponent{componentDidMount(){console.log(this._

javascript - 查询 : What is the difference between "var test" and "var $test"

这个问题在这里已经有了答案:WhywouldaJavaScriptvariablestartwithadollarsign?[duplicate](16个答案)关闭8年前。这些说法有什么区别?我知道“var$test”声明了一个jquery变量,但是jquery变量与一般的javascript变量有什么区别?

Javascript 性能 : How come looping through an array and checking every value is faster than indexOf, 搜索和匹配?

这对我来说是一个巨大的惊喜,我想了解这个结果。我做了一个testinjsperf这基本上应该采用一个字符串(这是我想检查的URL的一部分)并检查是否存在4个项目(实际上存在于字符串中)。它以5种方式检查:简单的indexOf;分割字符串,然后是indexOf;正则表达式搜索;正则表达式匹配;拆分字符串,遍历项目数组,然后检查是否有任何项目匹配它应该匹配的东西令我大吃一惊的是,5号是Chrome21中最快的。这是我无法解释的。在Firefox14中,普通的indexOf是最快的,我相信这一点。 最佳答案 我也很惊讶,但Chrome使用

javascript - 为什么 "g"修饰符在两次调用 test() 时给出不同的结果?

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭4年前。给定这段代码:varreg=/a/g;console.log(reg.test("a"));console.log(reg.test("a"));我得到这个结果:truefalse我不知道这是怎么发生的。我已经在Node.js(v8)和Firefox浏览器中进行了测试。