很多瀏覽器實現了JavaScript的一個公共子集,使得大部分代碼在不同瀏覽器上都能很好的兼容,不兼容性的問題不是語言本身,而是瀏覽器所開放的底層的文檔對象模型(DOM)不同。例如:一個JavaScript語言的對象可以是Date或者String;無論在safari還是navigator實現,它都還是Date或者String。在不同的瀏覽器各自對JavaScript的實現中,如何開放和操作這些DOM對象,這導致了瀏覽器之間的不兼容性。
另外,我們知道JavaScript可以修改元素的屬性,而這些屬性又可以通過css樣式屬性來定義。但因為瀏覽器對于css的實現可能有所不同,導致了一些跨瀏覽器不兼容的問題。
--摘錄于JavaScript核心技術(Sbelley Powers著,O'REILLY)