草庐IT

code-splitting

全部标签

JavaScript:使用 String.split 和正则表达式优先级避免空字符串

我正在创建一个语法荧光笔,我正在使用String.split从输入字符串创建标记。第一个问题是String.split会创建大量空字符串,这会导致一切都比原本应该慢得多。例如,"***".split(/(\*)/)->["","*","","*","","*",""]。有没有办法避免这种情况?另一个问题是正则表达式本身的表达式优先级。假设我正在尝试解析C风格的多行注释。即/*注释*/。现在假设输入字符串是"/****/"。如果我使用以下正则表达式,它会起作用,但会产生很多额外的标记(以及所有那些空字符串!)。/(\/\*|\*\/|\*)/更好的方法是阅读/*、*/,然后阅读所有剩余的

javascript - 如何在 google-code-prettify 中包装长代码行

我使用的是google-code-prettify的默认设置。当一行太长时,它会超出边界,如下所示:他们是否有任何可能的解决方案来包装代码行? 最佳答案 你需要使用pre-wrap。pre{white-space:pre-wrap;} 关于javascript-如何在google-code-prettify中包装长代码行,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/225836

javascript - jQuery/JavaScript : Detecting scroll direction - code structure issue

我需要检测用户滚动的方向——“向上”或“向下”。基于此答案中的代码:HowcanIdeterminethedirectionofajQueryscrollevent?我试图将它包装在一个函数中,这样它就更有区别了——但不幸的是,它不起作用。我认为这与我返回值的方式有关,但方向始终是“向上”。作为JavaScript的新手,我在解决这个问题时遇到了问题。代码如下:$(document).ready(function(){'usestrict';varlastScrollTop=0,st,direction;functiondetectDirection(){st=window.pageY

javascript - 在 String.split() 中使用捕获组

这个问题在这里已经有了答案:javascriptregexsplitproducestoomanyitems(4个答案)关闭4年前。$node>"ababaabab".split(/a{2}/)['abab','bab']>"ababaabab".split(/(a){2}/)['abab','a','bab']>所以,这对我来说没有意义。有人可以解释一下吗?我不明白为什么会出现'a'。注意:我正在尝试匹配双行结尾(可能在Windows文件上),所以我在/(\r?\n){2}/上拆分。但是,我的数组中出现了无关的'\015\n'条目(注意\015==\r)。为什么会出现这些?注意:也会

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 最佳实践 : handling Firebug-specific code

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

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 - SO 的 javascript 中的 "".split( "")

我见过很多成语,一旦解释清楚,其中的大部分都很聪明且合乎逻辑。但是当我查看SO的javascript以获取有关良好界面设计的一些想法时,我看到了以下行:initTagRenderer("".split(""),"".split(""));这真的让我大吃一惊。显然,它们使用两个数组初始化标记渲染器,其中只包含一个空字符串参数(或[""],"".split("")的计算结果).我理解那部分(在我自己的代码中做了同样的事情)。但似乎传递文字会完成同样的事情。作为一个新手(对于js,而不是编程),是否有一些不明显的原因让我没有看到这样做?此外,我确实尝试搜索,并获得了很多关于split()本身

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是否有任何内置的机制来编辑目标配置,所以我只能告诉