leechael.orgHome

两个 JavaScript 的测试

第一个是 JavaScript 在不同浏览器下的速度测试,原文对 Firefox 3.0.7a, Firefox 2.0.0.6, IE7, IE6, Safari 3.0.3, Opera 9.23, Opera 9.50a 分别进行了测试。原文中附带了测试,而我的测试结果是:

ArrayDateErrorMathRegExStringDOMAJAXTotal
Firefox 2.0.0.1129778941413287812510782219
Firefox 3.0b3pre
(Gecko/2007121405)
3115151652661871337731621
Internet Explorer 7.0
(With Add-ons)
633194125344931723751297
Safari 3.0.47816626320331203110766
Opera 9.241564763781561256393781

与原文的结果相比,Firefox 3 还在继续改进,但总体结果还是不及 IE7(这个结果让人惊讶)。而 Safari 和 Opera 在 JavaScript 运算上的优越简直让人惊讶,这让我觉得在接下来的时间里,单靠众多的 Add-ons 的来支撑的 Firefox 还会不会是众多用户除了 IE 以外的首个选择。要说 Firefox 存在的优势,就是 DOM 方面的运算极快,但还是不及 Opera。AJAX 方面更是让人失望,很明显地也不如 IE7,无论是现时主流的 Firefox2 还是处于 beta 状态的 Firefox3。若非开发,日常使用大可考虑使用 Opera 或者 Safari —— 这是我的结论。

原文叫做 Javascript Speed Test 2007,但貌似测试的时间距离现在也有一段日子了,有兴趣的同学也可以自己做一做测试。

而另一个是关于在 JavaScript 中,使用 Closure 及使用 Object Properties 间性能的比较。当然这个比较是有点无意义的感觉,原文 中也只对 Firefox2 及 IE7 做了比较。这里补充上我的一些测试结果:

ClosureWritingReadingExternal ReadingExternal Writting
Firefox 2.0.0.11Closures39216315161593
Properties48919312191250
Firefox 3.0b3pre
(Gecko/2007121405)
Closures37257217451761
Properties690812313551407
Internet Explorer 7.0Closures482810963593485
Properties584418820312015
Safari 3.0.4Closures953172797953
Properties1921172484531
Opera 9.24Closures120394766859
Properties1172109343516

这个测试除了再一次证明 Safari 和 Opera 在 JavaScript 运算速度上的优越,而在 Closure 和 Object Properties 使用上的选择,和原文一般的观点:如果有在外部读取和写入需要,使用 Object Properties,在仅是内部使用的情况下更多地考虑选择 Closure。

References

PS: 你认为你的 CSS 能力在哪个阶段呢?这里 有一个简单的评定条件,我给自己评的是 4.6 (虽然没有这个数字……),各位认为这个数字会不会偏高了呢?哪位同学有意打击我,现在机会来了……;P

CSS 及 JavaScript 的兼容性测试(续)

这篇东西本是在上一个星期就该发出来的了。在上一篇文章 CSS 及 JavaScript 的兼容性测试 发文后不够两天,就看到一篇 好文,同样是论述各种 debug 工具,而且比我所收集的更为完整。

文中也提及了好几种 Safari 下的 debug 工具,可惜几乎都是仅适用于 Mac 版本的 Safari。幸好我们还可以打开 Safari 的 debug 菜单:

C:\Documents and Settings\USERNAME\Application Data\Apple Computer\Safari\Preferences.plist

使用任意文本编辑器打开上述路径的这个 xml 文件,加入这句:

<key>IncludeDebugMenu</key>
<true/>

References

JavaScript 的内存泄漏

今天在看到 IEBlog 的一篇关于检测 IE 内存泄漏工具的文章: Tools for Detecting Memory Leaks,说实话,我到此刻才知道 JavaScript 的不当会造成内存泄漏。文中有提到两个检测内存泄漏的工具,DripsIEve。由于这两个工具仅是针对 IE——而在这世界上,不仅是 IE,我们还有 Firefox, Safari, Opera, Konqueror, etc.内存泄漏的问题——不会仅是存在于 IE 之中,对于 Firefox,我们可以使用 Leak Monitor 来进行检测;Safari Blog 在很早以前也提及过 如何检测内存泄漏的问题;至于 Opera——貌似是一个很坚固的浏览器,如果解决掉中文字体设置困难这个问题,然后对 CSS3 有更多的支持,会是一个很强大的东西。

随着 Web-Application 的增多,以及各个网站开始使用 JavaScript 来增强效果,随之带来的问题,例如 XSS,Memory Leaks,都需要开发人员花费更多的时间来进行调试。

References