Javascript 各浏览器的 Javascript 效率对比_javascript技巧

从“译言”上的一篇文章据悉各浏览器 Javascript 的对比。我个人作为一名“准”的 Javascript 开发者,对此事自然比较的关注。SunSpider 的测试面我还是保持对其信任的态度的,正如原文所说的“它是一组被精心设计的测试,易于运行也非常全面”。

下面是测试的内容:

3d - 纯粹 JavaScript 的 3D 渲染运算,但并不包含渲染部分。它包含大量的浮点运算和数组操作。 
access - 数组,对象属性和变量的访问读取。 
bitops - 位操作,这在游戏、数学运算和多种编码解码中有重要应用。它也是JavaScript中唯一的整数运算。 
controlflow - 控制流结构 (重复,递归,条件)。目前它主要是递归结构,但其它结构也均被包含。 
crypto - 真实的加密代码,主要为位操作和字符串操作。 
date - "date"对象性能。 
math - 多种数学运算类型。 
regexp - 正则表达式。 
string - 字符串处理,包括生成一个巨型"tagcloud"的代码,解压压缩过的 Javascript 代码等等。 

除了上述的对比之外,下面的统计图更能直观的对比各浏览器的性能。


虽然测试所生成的字符串在大部分的生产情况下几乎不可能发生,但我对于 IE 如此低下的运行效率还是颇有微词。排除 IE 最薄弱的字符串操作,本人和原文作者同样的感到惊讶的就是排除字符串的测试, Firefox 的速度并不比 IE 快多少。正如我上次对 Firefox 3beta 评测中期待的,我希望它能运行得更快些。

Safari 也是我一直关注的浏览器,它在此项的测试中的效率还是感到非常满意的。至于 Opera,看得出原文的作者也给予其非常高的评价,“世界上最快的浏览器”这个称号看来的确名至所归。

总结一下,由于现在国内大部分浏览器市场还是 IE 为主,所以根据上述的测试,特别是对于 Javascript 方面,字符串的操作是尤其要考虑下它的性能的。发现 IE 中 Javascript 的正则的运行效率还是比较的满意的,可能以后如果碰到字符串方方面的操作比较,我会优先考虑使用正则。

最后,推荐继续阅读下 原文链接。

时间: 2024-08-01 22:27:37

Javascript 各浏览器的 Javascript 效率对比_javascript技巧的相关文章

Javascript中浏览器窗口的基本操作总结_javascript技巧

窗口位置 [1]获取 浏览器(firefox不支持)提供了screenLeft和screenTop属性,分别用于表示窗口相对于屏幕左边和上边的位置 在窗口最大化的情况下,运行下列代码时,各个浏览器返回的值并不相同.chrome返回left:0;top:0.而IE则返回left:0;top:56(若有菜单栏,则返回left:0;top:78),这是因为IE中保存的是从屏幕左边和上边到由window对象表示的页面可见区域的距离.safari则由于自身的bug,返回left:-8;top:-8 //移

JavaScript调用浏览器打印功能实例分析_javascript技巧

本文实例讲述了JavaScript调用浏览器打印功能的方法.分享给大家供大家参考.具体如下: 1. 通用型,支持IE,Firefox,Chrome... 复制代码 代码如下: window.print(); 2. 只支持IE打印: <script> var print=function(){ /** * WebBrowser.ExecWB(1,1) 打开 * Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 * Web.ExecWB(4,1) 保存网页 * Web.Ex

JavaScript阻止浏览器返回按钮的方法_javascript技巧

本文实例讲述了JavaScript阻止浏览器返回按钮的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码可以阻止用户点击返回按钮,非常实用,需要的朋友可以收藏一下. <SCRIPT type="text/javascript"> window.history.forward(); function StopBack() { window.history.forward(); } </SCRIPT> </HEAD> <BODY onloa

JavaScript组合拼接字符串的效率对比测试_javascript技巧

在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率. 字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚本执行起来很慢,CPU使用率狂高,例如: 复

Javascript 多浏览器兼容性问题及解决方案_javascript技巧

CSS 多浏览器兼容性问题及解决方案 一.document.formName.item("itemName") 问题 问题说明:IE下,可以使用 document.formName.item("itemName") 或 document.formName.elements ["elementName"]:Firefox 下,只能使用document.formName.elements["elementName"]. 解决方法:

javascript跨浏览器的属性判断方法_javascript技巧

今天在写代码的时候发现一个很容易出错的地方.当我们在声明变量时,常常会因为不同的 browser 有不同的 API 定义,然后用以下的写法来判断哪一个属性,例如: 复制代码 代码如下: var fullscreenElement = document.mozFullScreenElement || document.webkitFullscreenElement || document.fullscreenElement; 用||来检查要用哪一个 attribute.不过要小心 javascri

jQuery和JavaScript节点插入元素的方法对比_javascript技巧

二.插入元素: <div> <p>面朝大海,春暖花开</p> </div> (一).jQuery方法 1.在节点内部插入: 方法 说明 append() 向每个匹配的元素内部追加内容 appendTo() 把所有的元素追加到另一个指定的元素集合中,实际上是颠倒了append()的用法.如$(A).append(B)与$(B).appendto(A)是等价的 prepend() 向每个匹配的元素内部前置内容 prependTo() 把所有匹配的元素前置到另一个

javascript实现获取浏览器版本、操作系统类型_javascript技巧

代码很简洁,功能很实用,这里就不多废话了,直接给大家奉上代码: /** * Created by Administrator on 15-1-12. */ function BroswerUtil() { } BroswerUtil = { //检测浏览器版本 getBrowserVersion: function () { var agent = navigator.userAgent.toLowerCase(); var arr = []; var Browser = ""; va

JS实现的跨浏览器解析XML文件实例_javascript技巧

本文实例讲述了JS实现的跨浏览器解析XML文件的方法.分享给大家供大家参考,具体如下: 下列代码把一个 XML 文档 ("note.xml") 载入 XML 解析器中: <script type="text/javascript"> function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(