痛陳Javascript的缺點
先說一些JavaScript中的一些基本性缺點問題。
1:兼容性低
在WWW 上有很多瀏覽器,如Netscape Navigator,Mosaic和HotJava等,但每種瀏覽器支持JavaScript的程度是不一樣的,支持和不完全支持JavaScript的 瀏覽器在瀏覽一個帶有JavaScript腳本的主頁時,效果會有一定的差距,有時甚至會顯示不出來。
結果,Javascript的開發人員常常需要針對不同的瀏覽器開發不同的版本。無形中工作量增加,而且基本上全都是重復性的工作。這是我們所不愿意看到的
2:造成內存泄漏
JavaScript是內存管理的語言。這意味著JavaScript具有內置的信息包收集功能,因此能夠抽取不再有引用路徑使用的變量并重新分配這些變量所使用的內存。
作為基本工作原理這很好,但是在模型對象和察看元素之間互相引用時,由于這些循環引用,你就不能依靠這個功能來實現你的內存使用***化。從原則上講,對象為零,則元素為零,但是如果這時從元素到對象的向后引用,那么信息包搜集器不會動這些對象。
現在,問題出來了:在文件對象模型中,任何文件樹中的DOM節點都可能被樹中的其它元素引用,不論其是否被其他對象所引用!因此任何在信息包收集器中經過標注的被DOM節點向后引用的對象,在這一方向必須為空,否則其內存就會一直處于已分配狀態。而實際上,程序員常常忽視這點。這就是為什么很多大型網頁游戲打開后內存嗖嗖的往上飚。這是目前被抱怨最多的avaScript的缺點。
3:對流媒體的支持
無,只能使用內嵌其他播放器的方法。
Javascript最初的設計目標是“讓網頁動起來”。這一點,它已經實現了,而且還有一些突破。但是,“動起來”只是“動起來”,這是不夠的。在Javascript面對Rich Application的時候,它就有些力不從心了。
現在,如果要討論javascript的發展,不應該局限于Javascript,而應該從HTML(DHTML),DOM,Javascript,CSS聯合考慮。從瀏覽器應用程序(請原諒我發明了這個詞“瀏覽器應用程序”)的角度出發。
【編輯推薦】