百科问答小站 logo
百科问答小站 font logo



为何浏览器控制台的JavaScript引擎性能这么差? 第1页

  

user avatar   rednaxelafx 网友的相关建议: 
      

题主先试试在Chrome的console里对比一下这四段代码:

       for (var i = 1; i <= 10; i++) {   console.time(i);   for (var j = 0; j <256*256*256; j++) { };   console.timeEnd(i); }  /* or the version below   eval("for (var i = 1; i <= 10; i++) {            console.time(i);                               for (var j = 0; j <256*256*256; j++) { };      console.timeEnd(i);                          }") */      

和:

       function foo() {   eval("for (var i = 1; i <= 10; i++) {            console.time(i);                               for (var j = 0; j <256*256*256; j++) { };      console.timeEnd(i);                          }") } foo()      

还有:

       function foo() {   (0,eval)("for (var i = 1; i <= 10; i++) {        console.time(i);                               for (var j = 0; j <256*256*256; j++) { };      console.timeEnd(i);                          }") } foo()      

最后:

       function foo() {   for (var i = 1; i <= 10; i++) {     console.time(i);     for (var j = 0; j <256*256*256; j++) { };     console.timeEnd(i);   } } foo()      

有没有惊喜?

在我的本上跑,

  1. 大概7600-8000ms
  2. 大概5600-6000ms
  3. 大概150-160ms
  4. 大概9-10ms

恭喜题主中了eval大招…细节解释起来略麻烦。回头有空再说…




  

相关话题

  如何看待国产全自研浏览器「梦弘浏览器」里有 Chrome 的痕迹? 
  如何让<fieldset>基于外边框垂直方向对齐,而不是里面的内容底线对齐? 
  毕设答辩,老师说node不可能写后台怎么办? 
  谷歌为什么建议新版edge用户切换到chrome? 
  开发web前端为什么用后端node(npm安装模块和webpack打包方式)? 
  异常处理(exception handling)和错误处理(error handling)有什么区别? 
  为何浏览器控制台的JavaScript引擎性能这么差? 
  为什么我电脑一百度“保存”这两个字就退出?而且保存不了文件。 
  刚刚我电脑上的浏览器用不了了,然后我就给它卸载了,现在我的电脑没有浏览器,搜索东西也不知道上哪去搜? 
  对于一般程序员来说,怎么防止为了潮流技术 疲于奔命? 

前一个讨论
为什么很多网民喜欢说「你支」,而不是好好称呼国家?
下一个讨论
装满的硬盘中是 1 多还 0 多?





© 2025-06-27 - tinynew.org. All Rights Reserved.
© 2025-06-27 - tinynew.org. 保留所有权利