草庐IT

编译优化

全部标签

javascript - 为什么 V8 不能优化 try-catch-finally?

为什么V8无法优化try-catch-finallyblock,而其他著名的运行时(SpiderMonkey、Chakra)似乎对此没有问题? 最佳答案 除了问题的优先级相对较低外,没有特别的原因。这会在某个时候进行优化看看这个chromiumv8issue1065如果您以v8为目标,您可以将try-catch移动到单独的函数,但只有当它是一个真正的性能问题时才应该这样做,否则它只是过早的优化。"Programmerswasteenormousamountsoftimethinkingabout,orworryingabout,th

javascript - AngularJS 中多属性指令的编译和链接顺序?

假设我有两个名为myFoo和myBar的属性指令。这些指令是用restrict:'A'定义的。然后我有一个元素编译/链接函数的调用顺序是什么?my-foo的编译总是在my-bar的编译之前调用吗? 最佳答案 除了@valepu的回答之外,这里还有对DDO(指令定义对象)的priority属性的描述:TL;DR默认的priority是0,如果你想改变元素的编译顺序,你必须增加元素的优先级。WhentherearemultipledirectivesdefinedonasingleDOMelement,sometimesitisnece

VSCODE中配置JavaScript编译环境

文章目录01.起因02.下载安装VSCODE03.方式一:使用Node.js做为解释器运行JS代码Node.js的安装和配置在VSCODE中配置Node.js04.方式二:使用VSCODE插件CodeRunner运行JS代码安装插件使用01.起因由于不是经常写前端JS代码,不想单独安装一个IDE,如WebStorm等,就在VSCODE中配置一个可以运行JS代码的环境吧!这样使用VSCode即可以写前端代码,也可以写C++代码,还可以写Python代码,真不错!!!02.下载安装VSCODE下载地址:https://code.visualstudio.com/至于安装就不啰嗦了,根据提示安装即可

javascript - 与 AMD (requirejs) 一起获得闭包编译器类型安全性的最可靠方法是什么?

虽然JavaScript及其许多库(jQuery、RequireJS)允许创建许多很棒的网站,但在考虑构建更大的网站时,我发现它缺乏类型安全性令人望而生畏。Google有一个很棒的closurecompiler这让你可以annotate你的JavaScript和JSDoc并检查它的类型。在试用了其丰富的类型系统后,我预计这将大大提高生命周期更长的JavaScript项目的可维护性。唯一的问题是它不能很好地与AMD一起玩像RequireJS这样的库。有一个实验--transform_amd_modules连接JavaScript文件并通过消除它来处理作用域的标志。然而,这似乎有点反模式,

javascript - 使用 Closure Compiler 简单优化从函数内部删除调试代码

我正在寻找一种从函数中删除调试代码的方法,以便我可以将测试Hook添加到闭包中。我读了GoogleClosureCompileradvanced:removecodeblocksatcompiletime并测试了使用以下命令删除调试代码:/**@define{boolean}*/varDEBUG=true;if(DEBUG){console.log('removeme');}使用--define='DEBUG=false'的简单优化将其减少为varDEBUG=!1;。这同样适用于此:/**@const*/varDEBUG=false;if(DEBUG){console.log('rem

javascript - AngularJS - $编译一个带有对象作为属性参数的指令

当我使用$compile创建和绑定(bind)一个指令时,我怎样才能同时添加一个变量作为属性?变量是一个对象。vardata={name:'Fred'};vardirCode='';varel=$compile(dirCode)($scope);$element.append(el);myDirective会期望:...scope:{record:'='},...我试过`vardirCode='';`相反。 最佳答案 这很简单,只需创建新范围并在其上设置数据属性即可。angular.module('app',[]);angular.

javascript - 使用 Google Closure Compiler 可以从编译版本中排除一段源代码吗?

我最近使用Dojotoolkit构建了一个项目并且喜欢你如何根据任意conditionalcheck将一段代码标记为仅包含在编译版本中.我用它来导出私有(private)变量以进行单元测试或抛出错误而不是记录错误。这是Dojo格式的示例,我很想知道对于GoogleClosureCompiler是否有类似这样的特殊指令。.window.module=(function(){//privatevariablevarbar={hidden:"secret"};//>>excludeStart("DEBUG",true);//exportinternalvariablesforunittest

javascript - 使用 Webpack 时 Typescript 编译器 "cannot find module"需要 CSS/图像 Assets

我正在编写vanillaJavascript,但使用Typescript编译器的checkJs选项在VSCode中进行类型检查。我将Webpack设置为加载各种Assets类型(CSS、图像等),这对于构建工作正常,但代码将这些语句视为错误。例如,在这段代码中require("bootstrap");require("bootstrap/dist/css/bootstrap.css");varimg=require("../img/image.png");第一行很好,但接下来的两行都在require()的(字符串)参数下显示错误,工具提示为“找不到模块(名称)”。我已经安装了@type

javascript - 尝试优化我的代码以删除嵌套循环或使其更高效

我的一个friend取了一个从1到n的数字序列(其中n>0)在这个序列中,他选择了两个数字,a和b他说a和b的乘积应该等于数列中除a和b之外所有数的和给定一个数字n,你能告诉我他从序列中排除的数字吗?我从CodeWars找到了这个Kata的解决方案,但是当我运行它时它在编辑器中超时(12秒后);还有什么想法我应该如何进一步优化嵌套的for循环和/或删除它?functionremoveNb(n){varnArray=[];varsum=0;varanswersArray=[];for(leti=1;i.as-console-wrapper{max-height:100%!importan

javascript - VueJS错误编译模板

我刚刚用VueJS和Vue-loader做了我的第一个项目。所以我制作了我的第一个组件来显示一条简单的消息,当我发出一条消息时它工作正常,但是当我发出多条消息时我会出错:(EmittedvalueinsteadofaninstanceofError)Errorcompilingtemplate:Thisisasmallmessage!Anotherone-Componenttemplateshouldcontainexactlyonerootelement.Ifyouareusingv-ifonmultipleelements,usev-else-iftochaintheminstea