经过多次 beta 版本之后,IE8 终于在上月发布了,其中包含了 5.8 版本的 JScript 引擎。脚本引擎的主要增强有:JSON 支持,性能优化,ECMA 3 兼容性,一个 profiler 和一个调试器。
原生 JSON 支持:开发团队自诩 IE8 为第一个原生支持 JSON 的浏览器。这大大改善了序列化 / 反序列化的过程,并且带来了更好的安全性,使代码注入和数据损坏的可能性降低。
性能优化:开发人员以前最经常抱怨的问题便是字符串的拼接,这个问题现在已经解决了,其性能比之前的 JScript 版本要高出数倍。数组操作的性能也得到了优化。据 Google 的高级工程总监 Greg Badros 称,引擎的速度提高了 2.5 倍:
我们的部分测试显示 JScript 性能提高了 2.5 倍。最关键的一点便是字符串操作。我们还监测了 Gmail 中常见操作的性能,例如与 IE7 相比,加载收件箱变为原来的 24%,打开一个会话为 35%,打开一个线索为 25%。
ECMA 3 兼容性:主要问题之一为 ECMAScript 3 (PDF)的完全兼容。这份公开文档收集了目前已经发现的兼容性问题, IE 团队已经保证会对它们进行修复。
循环内存泄露:虽然从 2007 年开始便开始着手解决这个问题,但是据 JScript 产品线经理 Shreesh Dubey 所说:直到 IE8 Beta 1 才开始从 COM 结构上对它进行修复:
我们对这个问题进行了深入的探索,发现它需要从 COM 基础设施上进行修复。我们的实现填补了 COM 引用计数和自动垃圾回收模型的缺口。我们扩展了 IDispatchEx 接口,使 COM 客户端能够同时支持引用计数和垃圾回收机制。
探察器和调试器:IE 开发人员工具已经集成了一个 JScript 探察器和一个调试器。
查看英文原文: Enhancements in JScript 5.8, the IE8 Scripting Engine
评论