草庐IT

delete_test

全部标签

javascript - 将对象分配给 undefined 和 delete 之间的区别

我在阅读SecretsoftheJavaScriptNinja时遇到了一个编码示例:varninja={yell:function(n){returnn>0?ninja.yell(n-1)+"a":"hiy";}};varsamurai={yell:ninja.yell};//varninja={};//deleteninja;samurai.yell(4);如果我取消注释第二行,samurai.yell(4)运行良好,我理解为samurai仍然引用了最初由ninja.yell引用的函数,这delete已删除。但是,如果我改为运行第一个注释行,samurai.yell(4)会报错。谁能

javascript - JS : Recognize dot or delete in keypress

如果用户按下点(在标准键盘或数字block上),我想执行一些代码。但是如果我把它接过来Keycode(110),这就和删除按钮一样了。我如何识别它们?感谢您的帮助! 最佳答案 删除键(通常在箭头上方)为46,数字小数点为110,键盘周期为190。这是一个非常好的页面,可以了解什么是键码:http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx如果这不能回答您的问题,请重新措辞,因

javascript - Node : Testing with sinon and async/await

使用sinon和async/await运行此测试时遇到问题。这是我正在做的一个例子://infilefuncsasyncfunctionfuncA(id){leturl=getRoute53()+idreturnawaitfuncB(url);}asyncfunctionfuncB(url){//emptyfunction}和测试:letfuncs=require('./funcs');...//describeletstubRoute53=null;letstubFuncB=null;letroute53='https://sample-route53.com/'letid='123

javascript - React-testing-library:因输入而改变

我正在尝试测试组件是否会因输入元素的更改而更新。我使用fireEvent.change()函数,如果我随后检查我使用getByPlaceholderText找到的节点的值,它已按预期更新。但是我看不到react组件本身的变化。这可能是因为更改直到重新渲染才会发生;我将如何测试这个?react-testing-library的rerender似乎“从头开始”启动组件(即没有新的输入值),并且waitForElement永远找不到它在等待什么。这是组件TestForm.js:importReactfrom'react';import{withState}from'recompose';co

javascript - 简单的 Angular Testing 失败($injector :unpr Unknown Provider) when I have no dependencies

我得到thiserror。这与我的注入(inject)器无法解决所需的依赖关系有关,但即使我对Angular了解有限,我也很确定这段代码不应该依赖于任何模块。此代码在浏览器中运行良好,但它似乎不想在我的测试中运行。我一直在关注文档中的examples我的Angular版本是1.2.13(编辑:现在使用1.12.15)。这是我的代码:varapp=angular.module('app',[]).controller('GreetingCtrl',function($scope){$scope.title="HelloWorld!";$scope.message="Test,test.O

javascript - "delete"- 恢复 native 函数不适用于已更改的原型(prototype),那怎么办?

如果你像这样改变原生函数:window.open=function(a,b,c){alert(2);}然后你就可以deletewindow.open它会恢复原来的功能,但是:如果你像这样改变它的原型(prototype):window.__proto__.open=function(a,b,c){alert(3);}然后delete不会做任何事情=\现在有什么办法恢复它吗? 最佳答案 当您将window.open更改为其他内容时,例如使用window.open='somethingelse';,然后您将隐藏原型(prototype)

javascript - 为什么我得到 'There is no timestamp for/base/src/tests/core/types.tests!' ?

这个问题在这里已经有了答案:karmaerror'Thereisnotimestampfor'(9个回答)关闭6年前。我花了几个小时想弄明白,我想这与我配置错误的requirejs文件(“test.main.js”)有关,但我不太确定,所以有人可以向我解释一下吗怎么了?如果您需要我提供更多信息,我很乐意提供。这是堆栈跟踪的输出。EyalShilony@LIONKING/d/Projects/Code/Development/tsToolkit$./karma.shstartINFO[karma]:Karmav0.12.16serverstartedathttp://localhost:

Javascript 'delete' 在迭代循环中不起作用

我是一名使用JavaScript的C/C++/Java程序员。我正在尝试编写一个函数来删除对象“obj”的所有属性。我已经阅读了“HowtoquicklyclearaJavascriptObject?”上的帖子,看到有两个答案:(1)创建一个新的“obj”(我不想这样做,因为我的代码是一个运行在移动浏览器,我想尽量减少垃圾收集);(2)在循环中迭代对象的属性并删除属性。后一种方法在Chrome12中不起作用。考虑以下代码:varfoo={};foo['baz']='bar';console.log("1.foo.baz="+foo.baz);deletefoo.baz;console.

Javascript : Insane boolean test with '!' operator

这个问题在这里已经有了答案:Checklegalcharactersbyregularexpressionbutwithunexpectedresult(2个答案)关闭7年前。在chrome控制台中输入以下函数调用:(function(regex,str){console.log(regex.test(str))console.log(!regex.test(str))console.log(!regex.test(str))console.log(!regex.test(str))console.log(!regex.test(str))})(newRegExp("new","gmi

javascript - 它是 Ecmascript 中的错误 -/\S/.test(null) 返回 true 吗?

在Actionscript3和Javascript中,这些语句给出相同的结果:/\S/.test(null)=>true/null/.test(null)=>true/m/.test(null)=>false/n/.test(null)=>true在这种情况下,null值似乎被转换为字符串“null”。这是Ecmascript中的已知错误还是我遗漏了什么? 最佳答案 这不是错误,但你是对的,null强制到'null'并且该行为在规范中定义:RegExp.prototype.test(string),在内部等效于表达式:RegExp.