草庐IT

安全性能指标

全部标签

javascript - DevTools 性能工具中的解析、编译和评估是什么?

在Chromes的性能选项卡中运行JS脚本时,我看到JS解释分为三个步骤:Parse、Compile和Evaluate。有时我只会看到Evaluate,有时会看到Compile和Evaluate,有时会看到全部三个。我的问题是:每个步骤的实际含义是什么?为什么有时会缺少步骤?(例如,有时Parse会丢失) 最佳答案 解析:js引擎检查代码,确定所有不同的范围、变量声明等,并对它们进行排序。在这一步也会发生提升。基本上你的纯文本源代码变成了AbstractSyntaxTree(AST)编译:ChromeV8使用JIT编译,这意味着部分

javascript - AngularJS - 哪个范围在性能方面更好? Object.key 还是一些变量?

假设我必须存储客户信息,并且要管理双向绑定(bind),我将在此处使用$scope。所以我的疑问是,哪种方法更好?$scope.firstname="foo";$scope.lastname="bar";$scope.cellno="1234567890";$scope.email="foobar@example.com";或$scope.customerDetailsObj={};$scope.customerDetailsObj.firstname="foo";$scope.customerDetailsObj.lastname="bar";$scope.customerDetai

javascript - 默认情况下,Vue 是否为 XSS 提供安全性或防止 XSS?

我在想办法保护自己,Angular视觉react对抗XSS攻击。当我访问Angular官方文档时,https://angular.io/guide/security,它说:TosystematicallyblockXSSbugs,Angulartreatsallvaluesasuntrustedbydefault.WhenavalueisinsertedintotheDOMfromatemplate,viaproperty,attribute,style,classbinding,orinterpolation,Angularsanitizesandescapesuntrustedva

javascript - 在 Javascript 中使用 addEventHandler 的安全、通用的方法?

在我进入这个问题的细节之前,我想把情况弄清楚。我们的网络分析公司作为大型网站的顾问,并且(除了添加单个SCRIPT标记外)我们无法控制页面本身。我们现有的脚本使用“旧”方式(element.onclick=blah的奇特版本;它也执行原始处理程序)安装处理程序,这完全不知道页面上的"new"(addEventListener或attachEvent)处理程序。我们想解决此问题,使我们的脚本能够在更多站点上运行,而无需进行太多自定义开发。这里最初的想法是让我们自己的脚本使用addEventListener/attachEvent,但这带来了一个问题:客户端的站点使用“旧”方式设置处理程序

javascript - 如何在整个 Web 应用程序堆栈中利用 Haskell 类型安全?

我想知道以CRUD为中心的Web应用程序可以从Haskell的类型系统中获益多少,尤其是当前端是使用JavascriptMVC框架(如AngularJS传递无类型数据对象)构建时。在我看来,一旦将Haskell数据类型转换为JSON对象,并将其传递给繁重的JavaScriptMVC框架层,将Haskell的类型系统作为Web堆栈的一部分的好处就会开始急剧下降,因为没有让类型检查器确保通过整个Web应用程序的数据流的类型完整性的方法。例如,您可以更改数据库模式和关联的Haskell类型,但类型检查器无法告诉您JavaScriptMVC前端的哪些部分也需要更新。我认为这是一个问题。我是否正

javascript - let vs var 在 nodejs 和 chrome 中的性能

当我在chrome和nodejs中测试以下代码时,我得到以下信息:Chrome:forloopwithVAR:24.058msforloopwithLET:8.402msNodeJS:forloopwithVAR:4.329msforloopwithLET:8.727ms据我了解,由于block作用域,LET在chrome中更快。但是有人可以帮我理解为什么它在NodeJS中是相反的吗?还是我遗漏了什么?"usestrict";console.time("forloopwithVAR");for(vari=0;iPS:不确定这是否不是测试性能的理想方式。 最佳

javascript - 捕获内容安全策略 (CSP) 错误

我使用此方法通过eval检测CSP(也用于AngularJS):functionnoUnsafeEval(){try{newFunction('');returnfalse;}catch(err){returntrue;}}但我手头没有带有CSP的服务器来对其进行彻底测试。可靠吗?代码中存在newFunction('')行会导致无法捕获的错误吗?什么是err?那里捕获了哪种错误(Error、TypeError等)?CSP错误的消息是什么意思?我在CSP中找不到关于运行时错误的文档。 最佳答案 关于如何检测CSP,还有一个stacko

javascript - 使用 Modernizr 加载 HTML5 Shiv 的性能

我的站点使用Modernizr并需要HTML5Shiv和PrintShiv。不使用Modernizr加载这些shivs而是通过IE条件加载它们是否有任何性能优势?显然使用Modernizr更干净,但我更关注性能。 最佳答案 我自己很好奇,所以我设置了一些测试页面。如果您的站点只需要HTML5Shiv和来自modernizr的PrintShiv,那么使用IE条件仅加载html5shiv-printshiv.js将比始终为所有其他浏览器加载modernizr(ltIE9)执行得更好。因此,在您的情况下,您可能应该停止使用moderniz

javascript - 在数组上使用 delete 和随后的 .push() 会影响性能/内存消耗吗?

问题在数组元素上使用delete将其从数组中删除是我知道的从数组中删除元素的唯一方法,例如.forEach()调用跳过索引。问题是否在索引上使用delete,例如exampleArray[i],导致后续的exampleArray.push()增加内存数组对象的消耗?删除对象如何影响垃圾收集器?是否有更有效的方法来去除exampleArray元素?前者的例子varexampleArray=[];varn=500;//Doesthislineimplyamemoryallocation?exampleArray.length=n;exampleArray.fill("LoremIpsum"

javascript - 模块导入和解构性能

我最近阅读了Material-UI的文档:Noticethatintheaboveexample,weused:importRaisedButtonfrom'material-ui/RaisedButton'insteadofimport{RaisedButton}from'material-ui'Thiswillmakeyourbuildprocessfasterandyourbuildoutputsmaller.我以前以为是一模一样的,其实,这意味着第二行就是这样:importmaterialUIfrom'material-ui'const{RaisedButton}=materi