痛陳javascript的缺點
也做了很久的頁面了,開發中最討厭的就是Javascript程式碼。所以今天在這裡痛陳一下Javascript的缺點。
先說一些基本性的問題。
1:相容性低
在WWW 上有很多瀏覽器,如Netscape Navigator,Mosaic和HotJava等,但每種瀏覽器支援JavaScript的程度是不一樣的,支援和不完全支援JavaScript的瀏覽器在瀏覽一個帶有JavaScript腳本的主頁時,效果會有一定的差距,有時甚至會顯示不出來。
結果,javascript的開發人員常常需要針對不同的瀏覽器開發不同的版本。無形中工作量增加,基本上都是重複性的工作。這是我們所不願意看到的
2:造成內存洩漏
JavaScript是記憶體管理的語言。這意味著JavaScript具有內建的資訊包收集功能,因此能夠抽取不再有引用路徑使用的變數並重新分配這些變數所使用的記憶體。
作為基本工作原理這很好,但是在模型物件和察看元素之間互相引用時,由於這些循環引用,你就不能依靠這個功能來實現你的記憶體使用最優化。從原則上講,物件為零,則元素為零,但是如果這時從元素到物件的向後引用,那麼資訊包蒐集器不會移動這些物件。
現在,問題出來了:在檔案物件模型中,任何檔案樹中的DOM節點都可能被樹中的其它元素引用,不論其是否被其他物件所引用!因此任何在資訊包收集器中經過標註的被DOM節點向後引用的對象,在這一方向必須為空,否則其記憶體就會一直處於已分配狀態。而實際上,程式設計師常常忽略這一點。這就是為什麼很多大型網頁遊戲開啟後記憶體咻咻的往上飚。
3:對串流媒體的支援
無,只能使用內嵌其他播放器的方法。
Javascript最初的設計目標是「讓網頁動起來」。這一點,它已經實現了,而且還有一些突破。但是,“動起來”只是“動起來”,這是不夠的。在Javascript面對Rich Application的時候,它就有些力不從心了。
現在,如果要討論javascript的發展,不應該局限於Javascript,而應該從HTML(DHTML),DOM,Javascript,CSS共同考慮。從瀏覽器應用程式(請原諒我發明了這個詞「瀏覽器應用程式」)的角度出發。