草庐IT

代码执行

全部标签

javascript - 事件回调的代码覆盖率

我使用Karma(当前为v0.10.10)和Jasmine进行单元测试,并使用Istanbul(通过karma-coverage)进行代码覆盖率报告。我注意到代码覆盖率报告器在特定情况下的奇怪行为。我要测试的代码大致是这样的:/***@param{HTMLInputElement}element*/varfoo=function(element){varcallback=function(){//somecode};element.addEventListener("input",callback);};在我的测试中,我在被测元素上发送自定义输入事件,然后执行回调函数。测试检查回调的效

javascript - 如何配置 jsbeautifier 设置以实际美化我的 HTML/Javascript 代码

我看到了几个关于如何格式化HTML和javascript代码的问题。一个常见的答案似乎是jsbeautify(和GitHubpageforjsbeautify.js)是一个很好的解决方案。但是,我似乎无法让它正确地格式化我的任何代码,我想知道是否有一些默认参数需要更改,或者我是否只是误解了美化应该做什么。我所期望的是每个嵌套标签都将位于新行上并缩进到适当的级别。但相反,我看到的(这似乎不是jsbeautifier独有的)是有时几个标签在同一行串在一起,并且忽略换行的指令。示例1:我直接从thisquestion拿了这个例子.StackOverflowABC当我访问jsbeautifer

javascript - IE间歇性不执行动态添加的脚本文件

我们有一些JavaScript可以将脚本包含到我们网页中的动态资源中,以便我们能够在受跨站点脚本限制的不同服务器提供的页面之间传递一些信息。这个想法是浏览器请求由服务器端的动态资源提供服务的JavaScript文件(它还将一些服务器端信息放入请求中)。将JavaScript文件添加到页面后,浏览器会执行该文件。我们在InternetExplorer中遇到了一个问题,即响应中返回的JavaScript在添加到页面时间歇性地不执行。出现问题时检查FiddlerHTTP跟踪显示脚本已成功返回到浏览器。为了更可靠地测试这一点,我修改了添加脚本的代码,使其在循环中运行1000次,如下所示:for

javascript - 在主要 "meat"仍然是服务器端的 webapps 中组织 JS 代码的最佳方式是什么?

当使用Django、Kohana、Rails等MVC网络框架构建网络应用程序时,我最初将没有JS驱动组件的应用程序放在一起,然后将它们作为“改进”添加到UI。这种方法导致非侵入式JS,但我没有一个好的“标准”方法来组织JS工作。我在此类应用程序中编写的大多数JS都是10-30行的JQuery片段,它们挂接到UI的某些非常特定的部分。到目前为止,我经常将这些东西与它们管理的UI部分一起内联。这让我觉得很脏,我希望JS代码像python/php/ruby​​代码一样有条理,我希望它是可测试的,我希望它是可重用的。在这样的设置中组织JS代码的最佳方式是什么,我们没有构建成熟的JS客户端应用程

JavaScript可视化应用——代码组织、 Backbone mvc、桌面版等

我正着手开发一个用于可视化的JavaScript网络应用程序,其特点是使用注释等为各种图形添加书签。一个典型的例子是:给定一个url状态,显示两个SVG图形和一个用于操作的时间slider,以及到处放置的一些信息注释。传统上(并且有一段时间没有编写JS),我会尝试某种模块化的JS方法:srcdatachartchartType1chartType2chartType3layoutManagerstateManagerutilslibd3?backbone?jquery?...分解数据处理、一些实用函数、状态和布局管理器等但是面对大量的库,也许我应该冷静下来尝试一种新方法?代码组织?-像

javascript - 什么触发 JavaScript 代码执行?

如果您不知道我在说什么,请阅读JohnResig-HowJavaScriptTimersWork和IsJavaScriptguaranteedtobesingle-threaded?有几个触发器可以在JS引擎的执行FiFo中排队任务。这不是任何标准的一部分,所以我试图找到这些触发器的详尽列表。(我猜这一切都归结为内部事件处理程序,例如脚本加载事件或计时器事件,但我宁愿忽略引擎的内部结构并从用户的Angular看事情观点。)到目前为止我已经确定初始文档中的元素(包括由document.write添加的元素)*JS在运行时插入的元素*事件处理程序--这些包括各种各样的情况,例如用户交互、错

javascript - for 循环中的 Visual Studio JavaScript 代码格式化

VisualStudio2012中JavaScript的默认代码格式使用for循环执行此操作:for(vara=b;a注意b()、c()、(b)和(c)之后的空格>.删除这些空格的选项在哪里,或者VS是否只是有皱眉眨眼的恐惧症?); 最佳答案 使用Resharper.它是C#的出色工具,它还具有非常好的JavaScript支持-包括一个JSLint插件,它允许您强制执行JS代码约定/样式。虽然它不是免费的-但它会使您的代码更加一致且质量更高。 关于javascript-for循环中的Vi

javascript - angularjs $routeProvider 路由在解析完成之前执行

我希望在实际路由代码运行之前触发route.resolve方法。不幸的是,在下面的代码中,prime()被调用,但它是异步调用的,并且在prime完成之前调用了路由代码。我认为路由的解析方法应该在加载路由之前完成?(function(){'usestrict';varapp=angular.module('app');//Collecttheroutesapp.constant('routes',getRoutes());//Configuretheroutesandrouteresolversapp.config(['$routeProvider','routes',routeCon

javascript - 关于 var/const,为什么这段代码会起作用?

打开开发控制台(或在node.js中),按顺序输入以下代码:a=1vara=2consta=3正如你所见,它可以工作,但是如果你一次输入所有代码,你会得到一个错误,我认为这样更合理我想唯一的区别是提升,如果你一次输入所有代码,它将被视为:varaa=1a=2consta=3但我不明白为什么当你逐行输入时它会起作用,而且如果你跳过第一行,你会得到预期的错误 最佳答案 在环境的全局范围内,无论类型如何,都可以分配和声明变量,因此当您按顺序输入以下代码时,它会起作用。z=1varz=2constz=3现在z的值为3现在假设我们一次执行所有

javascript - 在 Chrome 中单步执行 JavaScript 断点时如何查看 DOM?

在ChromeDevTools中,在Sources选项卡中调试JavaScript(在JS代码中添加“调试器”行,然后使用F10/F11单步执行代码),如何在单步执行代码时查看DOM?如果我的JS正在操作DOM,我通常需要单步执行JS调试器并观察DOM元素是如何被我的JS修改的。例如,我可能必须查看元素是如何被移动的,它们是否在应该被移除的时候被移除,它们是否在正确的时间获得正确的类,等等。必须在Sources选项卡之间来回切换以执行一行,然后在Elements选项卡之间来回切换以查看我执行的每一行DOM是如何修改的,这妨碍了我的调试,使我无法分辨每行都在影响DOM。如何在单步执行代码