BOM主要针对的是浏览器的操作,常用的也就是五个对象:window对象 location对象 navigation对象 screen对象和history对象
window对象主要讲的就是对浏览器的一些操作,有一些常用的方法,比如alert comfirm prompt方法。
location对象英文翻译过来就是位置对象,那么顾名思义就是对位置和偏移量之间的操作。
navigation对象就好像一个导航的东西,告诉你一些URL里面的知识,和获取浏览器当前页面完整URL的一些信息。
screen就是屏幕对象,获取屏幕的一些乱七八糟的知识。宽度啊长度啊主要就是关于屏幕的一些信息
history对象很明显就是对浏览记录的一些操作。
以上的东西只是本人对BOM的一点粗糙的认识和理解,不喜勿喷,本人也是新手一枚,有一颗向往技术的心,请大神们指教,下面我就来谈谈js中的重点DOM,这点内容我看了一天,才有了一点点很浅的认识。闷头读书不如抬头思考,我感觉这是一个很神奇的东西,有时候放下书本,思考一下会有新的发现,现在开始谈谈js中的BOM
DOM就是文本对象模型:看到这个对象有时候就头大了,毕竟模糊的东西不容易抓住,我看类这个东西感觉他就是一个哆啦A梦的神奇百宝袋,它里面有很多神奇的道具,你从中选出了一个竹蜻蜓(对象),你就很清楚的看出他具有的一些物理性质,长什么样啊,什么颜色啊,什么结构啊(属性),然后你把它插在头上你就可以飞了(方法),有时候理解一个抽象的东西就要去用一种自己熟悉的具体的东西去做对比,就会让自己记得很牢。。。。。说了一大堆,看似都是废话但是这个会让我们更好地理解对象,只有理解好了对象才更好地去用面向对象的眼光去思考问题,发现问题还有解决问题。
现在我们开始正题:我们先从最顶部开始向下看起,dom给我们描绘了一个层次化的大树,主要分为四个大部分(document,element,attribute ,text),和现在的HTML5追求的语义化不径相同了,都是让它看起来更加有条理,看起来更加清晰。现在我们来分析一下所谓的层次话大树。其实我感觉说它是个族谱更加贴切。DOM吧HTML、XML划分成了一个一个的节点,又由一个大的节点划分成了一个小的节点,有了节点这个概念就出来了DOM的第一种类型,节点类型(nodeType)。每一个节点都是一个对象,所以他就有自己的属性(nodeName和nodeValue)和自己能使用的方法(appendChild)
之后就该Document类型了 他就相当于整个HTML页面,站在最高台阶上的男人,就相当于祖先,他也有自己的名字代号之类的(特性),他可以通过一些方法来找到自己的后代通过一些方法,滴血认亲(Id),通过名字(tagName),还可以去他们的班级里去找(class),它还可给他们的后代留下一些东西,写下一些话(write())。
Element类型元素类型,元素标签里都会有很多中属性,都可以通过具体的对象来展现他的属性,(可以理解成人有名字,英文名,外号之类的),取到了一个值(getAttribute()),有时候不喜欢就换一个(setAttribute()),或者干脆就不要了(removeAttribute()),有时候他的上一辈还会给他添加一个兄弟姐妹(creatElement()),有的兄弟家里有很多小孩(子节点),看他们家到底有几个小孩子(childNodes())
text类算是一个很小的类的,就想最后那些孩子们的名字(子元素标签里包含的文字),有名字的话,如果不满意可以加(appenData()),可以减(deleteDate()),
可以在你喜欢的位置加上一个字(insertData()),或者干脆就重启一个名字(replaceData())。如果没有名字就需要给他新加一个名字(creattextNode()),差不多了,因为理解的还是不够透彻,所有有的时候讲的有点牵强,希望大家理解