IE8腳本引擎JScript 5.8增強(qiáng)
經(jīng)過(guò)多次beta版本之后,IE8終于在上月發(fā)布了,其中包含了5.8版本的JScript引擎。腳本引擎的主要增強(qiáng)有:JSON支持,性能優(yōu)化,ECMA 3兼容性,一個(gè)profiler和一個(gè)調(diào)試器。
原生JSON支持:開(kāi)發(fā)團(tuán)隊(duì)自詡IE8為***個(gè)原生支持JSON的瀏覽器。這大大改善了序列化/反序列化的過(guò)程,并且?guī)?lái)了更好的安全性,使代碼注入和數(shù)據(jù)損壞的可能性降低。
性能優(yōu)化:開(kāi)發(fā)人員以前最經(jīng)常抱怨的問(wèn)題便是字符串的拼接,這個(gè)問(wèn)題現(xiàn)在已經(jīng)解決了,其性能比之前的JScript版本要高出數(shù)倍。數(shù)組操作的性能也得到了優(yōu)化。據(jù)Google的高級(jí)工程總監(jiān)Greg Badros稱,引擎的速度提高了2.5倍:
我們的部分測(cè)試顯示JScript性能提高了2.5倍。最關(guān)鍵的一點(diǎn)便是字符串操作。我們還監(jiān)測(cè)了Gmail中常見(jiàn)操作的性能,例如與IE7相比,加載收件箱變?yōu)樵瓉?lái)的24%,打開(kāi)一個(gè)會(huì)話為35%,打開(kāi)一個(gè)線索為25%。
ECMA 3兼容性:主要問(wèn)題之一為ECMAScript 3(PDF)的完全兼容。這份公開(kāi)文檔收集了目前已經(jīng)發(fā)現(xiàn)的兼容性問(wèn)題,IE團(tuán)隊(duì)已經(jīng)保證會(huì)對(duì)它們進(jìn)行修復(fù)。
循環(huán)內(nèi)存泄露:雖然從2007年開(kāi)始便開(kāi)始著手解決這個(gè)問(wèn)題,但是據(jù)JScript產(chǎn)品線經(jīng)理Shreesh Dubey所說(shuō):直到IE8 Beta 1才開(kāi)始從COM結(jié)構(gòu)上對(duì)它進(jìn)行修復(fù):
我們對(duì)這個(gè)問(wèn)題進(jìn)行了深入的探索,發(fā)現(xiàn)它需要從COM基礎(chǔ)設(shè)施上進(jìn)行修復(fù)。我們的實(shí)現(xiàn)填補(bǔ)了COM引用計(jì)數(shù)和自動(dòng)垃圾回收模型的缺口。我們擴(kuò)展了IDispatchEx接口,使COM客戶端能夠同時(shí)支持引用計(jì)數(shù)和垃圾回收機(jī)制。
探察器和調(diào)試器:IE開(kāi)發(fā)人員工具已經(jīng)集成了一個(gè)JScript探察器和一個(gè)調(diào)試器。
【編輯推薦】