小弟大二,近来自学javascript,其中有DOM的概念,小弟对其意甚是不解。希望给位友友能相助为谢。
Q1:为何每个浏览器对DOM的实现不一样?是否DOM有一个特定的组织制定,然后把制定的文档交个每个浏览器开发厂商,由他们自己去实现,所以导致上述问题?
Q2:个门语言是否有专门操作类似XML等格式文件的DOM类,如果有,那么个门语言的实现是不是也按照一个统一制定的标准?比如某个类包含某些对象响应的对象和属性实现何种功能。
感悟:小弟偶感世间很混乱,无人指导,学习之路艰辛无比。
1、DOM实现不一样有很多原因,比如各个厂商对标准的理解角度不一样,有些厂商为了方便开发人员,会加入一些不标准的API,最著名的是IE的GetBoundingClientRect以及ShowModalDialog等,已经被很多厂商支持,但并不是标准的;另一方面,部分浏览器出来的时候根本没有标准,何来所谓的一致,比如现在HTML5标准没有定稿,各家都是按自己的意思实现,到时候HTML5定稿了,一定又会出现乱七八糟的情况
2、很多语言都有操作XML的库,JS是天生的基于DOM模型的,JAVA和.NET都有,但是实现并不相同,就如JAVA至少有2种以上对XML的操作类库
相对来说,各个浏览器的DOM操作还算统一,它是标准,基本操作是统一的,有个浏览器会加一些特性。