草庐IT

行为识别

全部标签

JavaScript 标准样式无法识别 jest

我需要设置jest和JavaScriptStandardStyle在使用npmtest时协同工作。现在,当我运行npmtest时,测试失败了,因为JavaScript标准样式抛出了一个错误:'test'isnotdefined.'expect'isnotdefined.我可以通过在我的package.json文件中定义一些globalforjest来解决这个问题。"standard":{"globals":["fetch","test","expect"]}但我绝对不认为这是一个好的解决方案。在我的测试用例sum.test.js中constsum=require('./sum')tes

javascript - 为什么原始变量的行为像对象?

这个问题在这里已经有了答案:javascript:doprimitivestringshavemethods?(2个答案)关闭6年前。如果我们像这样向Number函数(或Boolean或String)添加一个方法Number.prototype.sayMyNumber=function(){return"Mynumberis"+this;}然后创建一个数字对象并将其分配给一个变量varnum1=newNumber(34);num1.sayMyNumber();//itsays"Mynumberis34"这很好并且在我们创建“数字”对象时符合预期。类似地,如果我创建一个原始变量num2=

javascript - 极其奇怪的行为 : IE11 seems to create an invisible tab when scripts are blocked and then allowed - how to fix it?

IE处于最佳状态:有一个U盘,上面有一个HTML文档。当用户在IE11中打开它并且脚本被阻止时,会出现允许这些脚本运行的提示。当您点击允许时,网站似乎重新加载,但看起来也像是打开/关闭了一个新标签页。一旦启用JS,您将被重定向到网站的在线版本。现在,网站上有一个视频在10秒后开始自动播放。但在IE11中,几秒钟后同一视频开始并行播放,因此您会听到两次声音。当您检查DOM并删除时标签(只有1个),一个视频停止播放。较晚开始的那个继续播放。即使我访问另一个网站,视频也会继续播放。只有关闭浏览器才能停止播放视频。当我允许直接执行脚本时,不会出现这种情况。使用video.js和jQuery。有

javascript - 使用开发人员工具识别 javascript 闭包

我目前正在开发一个纯javascript网站,并且严重依赖jQuery和jQueryUI库(该网站不适合公众使用,因此渐进增强不是该项目的严格要求)。我在执行以下代码时遇到严重的内存泄漏:oDialogBox=$("...");/*Addusefulthingstothedialogboxhere*/oDialogBox.appendTo("body");oDialogBox.dialog({/*Otherdialogboxsettingshere*/close:function(event,ui){oDialogBox.dialog("destroy");oDialogBox.rem

javascript - 语音识别和getUserMedia

我正在构建一个Web应用程序并计划同时使用speechRecognition和navigator.getUserMedia用于音频输入。我注意到我的桌面浏览器(Mac上的Chrome,v.31.0.1650.63)两次请求使用麦克风的权限。虽然这对用户来说可能有点烦人,但语音识别和音频输入似乎都有效。但是,如果我在Android(Nexus7,Androidv4.4.2;Chromev31.0.1650.59)上打开同一个页面,它会两次询问是否允许使用我的麦克风,但我只能使用两者之一(以先开始的为准)。有时,即使我已授予访问麦克风的权限,我也会收到语音识别错误:“不允许”错误。我做了一

javascript - 在 FullCalendar 中,我可以在不使用拖动的情况下获得类似于 droppable 的行为吗?

完整日历有一个选项allowdraggingofexternaljQueryUIdraggablesontothecalendar.正如你在这个demo上看到的那样(在“周”View中最明显),当您将事件拖动到时间段上时,相关时间段会根据将要创建的事件的持续时间突出显示。可转换事件也将符合任何constraints为他们指定的。这意味着当拖动无效时隙时,它们不会突出显示,并且不会接受放置。是否可以在不实际使用可拖动对象的情况下获得这些功能?我想将一个预先指定的事件(标题、持续时间)放在日历上,使用自动约束计算和上述视觉反馈,但只需简单的鼠标悬停和点击。Tobclarify我想单击一个时

javascript - 如果比较函数不可传递,Array.sort() 的行为如何?

我正在编写一种算法来对3D框数组进行排序,以便按从前到后的顺序进行绘制。有一种定义明确、稳定的方法来决定两个盒子中的哪个盒子在另一个盒子前面,所以我编写了一个函数来做到这一点,然后我将我的函数传递给Array.prototype.sort()以获得正确的绘制顺序。但也可能存在这样的框循环,即A>B、B>C和C>A都为真。这意味着整个列表没有明确定义的排序顺序,即使任何对的顺序都是明确定义的。在实践中,这种情况不太可能出现,如果出现,我可以忍受一两个盒子的顺序错误。但是,在这种情况下,是否存在可能对整个列表进行错误排序或崩溃的JS实现?16年11月10日更新现在项目已经完成,只是为了补充

javascript - 需要 TextBox 的 Angular 的奇怪行为

我有2个文本框,一个是必需的,另一个不是必需的。如果我们在所需的文本框中添加文本,例如“ABC”,然后删除内容,ng-model将设置为undefined如果我们向非必填字段添加文本并删除内容,ng-model不会为空字符串""。这是关于我在上面解释的行为的一个小插曲。请使用控制台查看结果。http://plnkr.co/edit/XgQBfcyRF3OwG1qC0gXb?p=preview为什么两者在ng-model设置上有区别? 最佳答案 它是似乎是设计使然,并且与经过验证的表单值的一致行为有关。文档中没有关于此行为的任何内容,

javascript - Chrome 浏览器中奇怪的 .replace() 行为

saadad$(".allownumericwithdecimal").live("keypresskeyup",function(event){$(this).val($(this).val().replace(/[^0-9\.]/g,''));vartext=$(this).val();if(!((event.which>=48&&event.which2)){//event.preventDefault();}}vartext=$(this).val();if((event.which>=48&&event.which2){//event.preventDefault();}if

javascript - Chrome 中奇怪的日期行为

为什么这些几乎相似的日期对象在Chrome37中给出不同的结果?vard2014=newDate(2014,0,1);alert(d2014.getFullYear());//2013vard2015=newDate(2015,0,1);alert(d2015.getFullYear());//2015在IE11中,我得到了预期的“2014”和“2015”。浏览器适用于俄罗斯语言环境。转换为字符串给出以下结果:d2014.toString();//TueDec31201323:00:00GMT+0300(RTZ2(зима))d2015.toString();//ThuJan01201