BOM与DOM
DOM(Document Object Model)肯定都很熟悉了!BOM是什么,我以前听说过但是没仔细研究,直到今天看了 Professional JavaScript for Web Developers,Nicholas C. Zakas把BOM定义为Browser Object Model包括window document frames history location navigator screen等对象,而BOM的hierarchy的顶层是window 视窗,DOM的hierarchy的顶层是document 文档,这样看BOM就包含DOM了(DOM本身就是对客户端文档的控制方法,只不过它被标准化了)!
BOM还有其它的一些叫法,比如javascript对象(JavaScript Object Model) JOM,客户端对象(Client-side Object Model) COM等。由于w3c只维护了DOM ,而没有维护与客户端有关的javascript对象,因此BOM或者JOM,COM没有统一的规定。微软jScript的JOM和网景的JOM是不一样的,为此编写js程序时就遇到了很多困难(要照顾所有客户端是一件多么难受的事!)。(JOM与COM这两个缩写是我自己搞的,哈哈)
我感觉window document frames history location navigator screen这些javascript对象如果统一称呼,最好使用“客户端对象”COM(Client-side Object Model),比浏览器对象范围更广,更准确与贴切,因此我不赞同使用BOM这个称呼。(有不同意见欢迎来砸呀,呵呵)


2009-03-07
[Reply]
2008-12-04
(JOM与COM这两个缩写是我自己搞的,哈哈)
[Reply]