草庐IT

code_block

全部标签

javascript - 如何在 Angular 模块运行 block 中测试 Jasmine 代码

我想Jasmine测试Welcome.go是否已被调用。Welcome是一个Angular服务。angular.module('welcome',[]).run(function(Welcome){Welcome.go();});到目前为止,这是我的测试:describe('module:welcome',function(){beforeEach(module('welcome'));varWelcome;beforeEach(inject(function(_Welcome_){Welcome=_Welcome_;spyOn(Welcome,'go');}));it('should

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 - catch block 中的 return 语句发生了什么

我已经在javascript中尝试过这段代码functionabc(){try{console.log(0);throw"isempty";}catch(err){console.log(1);returntrue;}finally{returnfalse;}return(4);}console.log(abc());我得到的输出是错误的。我明白Finally总是执行,不管trycatch的结果如何,但是catch中的return语句会发生什么。 最佳答案 IunderstandFinallyalwaysexecuteregardl

Javascript 最佳实践 : handling Firebug-specific code

Firebug无疑是调试javascript的绝佳工具;我广泛使用console.log()。我想知道我是否可以在生产中保留特定于Firebug的代码。最佳做法是什么?评论调试代码? 最佳答案 如果您在生产代码中保留console.log()调用,那么使用InternetExplorer访问该网站的人将会遇到JavaScript错误。如果这些人配置了额外的调试工具,那么他们将看到讨厌的对话框或弹出窗口。快速搜索显示此线程讨论检测Firebug控制台是否存在的方法:http://www.nabble.com/Re:-detect-fi

javascript - 在 if block 中定义 JavaScript 变量有什么问题?

我有这样的代码:if(condition){varvariable=blah;}if(differentcondition){varvariable=blah;}这是正确的吗?我假设如果条件不返回true,则不会分配变量。JSLint不断告诉我,变量已经定义。我做错了吗?谢谢。好的,这是我的实际用例,我正在做这样的事件委托(delegate):$("#container").click(function(event){if($(event.target).is('img.class1')){varimagesrc=$(event.target).attr('src');//Dosome

javascript - 如何在 VS Code 中使用 Typescript 定义为我自己的 Javascript 服务获取 Intellisense?

我正在使用SailsJS开发后端服务器。它基本上将所有模型助手服务以及我自己的服务注入(inject)到全局命名空间中。如果我能够为这些服务获得Intellisense,那将对我大有裨益。我首先设置了typings并为lodash和node安装了全局类型定义。在创建jsconfig.json和tsconfig.json文件后,它就像一个魅力。接下来我想为我自己的服务创建一个基本定义文件。我在typings/globals中创建了一个目录,其中包含一个index.d.ts文件:declarenamespacefoo{exportfunctionbar();}declarevarbaz:{

javascript - 为什么在 Chrome 而不是 Firefox 中将条件 block 中的函数声明提升到函数范围?

为什么以下代码在Chrome和Firefox之间输出不同的结果?f=function(){returntrue;};g=function(){returnfalse;};(function(){if(g()&&[]==![]){f=functionf(){returnfalse;};functiong(){returntrue;}}})();console.log(f());在Chrome中:结果为false。但是,在Firefox中,它是true。上述代码的关键行是第4行,根据我对函数名提升的了解,函数g应该在第6行,即第2行被第6行覆盖。IMO,Chrome的行为是正确的。我说得对

javascript - 如何获取 Webpack 中每个 block 包含的所有文件(或模块)的列表

似乎无法在webpack中找到任何调试选项或插件来显示确切进入block的内容。为什么我需要这个?我注意到这样的情况,代码拆分字面上使所有内容都变得更大,然后将所有内容都放在一个文件中。这有点违反直觉,因为我不认为来自webpack的引导代码有那么重要;我怀疑这可能是缩小/重复数据删除,但在不知道哪些模块实际上被分块在一起的情况下,很难进行一些孤立的测试来确认。我的构建过程使用gulp;如果这有什么不同的话。 最佳答案 Webpack5.x:$webpack--stats-modules-space999在Webpack5.x之前:

javascript - JSHint 无法识别 Visual Studio Code (VSCode) 中的 Async/Await 语法

我一直在努力使用VSCode和JSHint来寻找摆脱这种语法高亮显示的方法。似乎JSHint无法识别Async/Await语法。在这里您可以找到我正在谈论的内容的屏幕截图。我的JSHint版本:jshint-esnextv2.7.0-3 最佳答案 在visualstudiocode中,JSHint和ESLint相互抵消。所以如果你想在vscode中使用异步函数,那么你必须禁用Jshint并启用eslint。 关于javascript-JSHint无法识别VisualStudioCode(

javascript - 使用 get set "exited with code 1"编译 TypeScript 错误代码

gettopLeft(){returnthis._topLeft;}settopLeft(value){this._topLeft=value;Recalc();}上面的代码可以在TypeScriptPlay中找到,但我收到构建错误从VisualStudio2012编译它时错误“退出代码1”有没有人尝试在TypeScript中获取、设置并成功构建? 最佳答案 您需要以ECMAScriptv5为目标,即将-targetES5参数传递给编译器。这需要在项目文件目标配置中设置。我不知道VS是否有任何内置的机制来编辑目标配置,所以我只能告诉