您的位置:首页 > 职场人生

黑马程序员_DOM(文档对象模型)

2013-05-13 13:08 211 查看
------- android培训java培训、期待与您交流! --------

DOM(文档对象模型)
用来将标记文档封装成对象,并将标记文档中的所有内容(标签、文本、属性等)封装成对象

封装成对象的目的:未来更为方便的操作这些文档以及文档中的内容

文档:标记性文档(标签 属性  标签中封装的数据 )     对象:封装了属性和行为的实例,可以被直接调用   模型:所有标记性文档都具有共性特征的表现。

只要是标记性文档,就都可以用DOM进行操作

常见的标记性文档(html  xml)

如何操作标记性文档:

                  要操作标记型文档必须对其进行解析

解析方式:1)

将标记型文档解析成一颗DOM树,并将树中的内容都封装成节点对象

好处:可以对树中的节点进行任意操作比如增删改

缺点:将整个标记性文档加载进内存,意味着如果文档体积过大,较为浪费内存资源

解析方式2)

Sax:是有一些组织定义的一种民间常用解析方式。

Sax解析:基于事件驱动的解析,获取数据快,但不能对标记进行操作。

Dom模型三种

DOM leve1:将html文档封装成对象

DOM leve2:在leve1的基础上见如来新功能

DOM leve3:将xml文档封装成对象

DHTML:动态的HTML,不是一门语言,是多项技术综合体(HML、CSS、DOM、JAVASCRIPT)的简称

四个技术在动态html页面效果定义时,都处于什么角色?负责什么样的职责

Html:负责提供标签,对数据进行封装目的是便于对该标签中的数据进行操作

        简单说;用标签封装数据

Css:提供样式属性,对标签中的数据进行样式的定义

简单说:对数据进行样式定义

Dom:负责将标签型文档以及文档中所有内容进行解析,并封装对象,在对象中定义了更多的属性和行为,以便对对象进行操作

简单说:将文档和标签以及其他内容变成对象

Js:负责提供程序设计语言,对页面进行逻辑操作

      简单说:负责页面的行为定义,就是页面的动态效果

Javascript是动态效果的主力编程语言

BOM:浏览器对象模型

这个模型方便操作浏览器,浏览器对应的对象就是windows的对象

Window对象:代表浏览器中一个打开的窗口。

         对象:navigator包含web浏览器的信息。

               Location包含当前URL的信息

                                         1)protocol:设置或获取URL协议

                                        2)  href:设置或获取整个URL为字符串

         方法:confirm:显示一个确认的对话框,其中包含一个可选的信息和确定取消按钮

 Document对象:代表给定浏览器窗口中的HTML文档。

          作用:是可以对标记性文档进行操作,最常见的操作就是想要动态效果,需要对节点操作,

                那么就要先获取这个节点。所以document最常见的操作就是获取页面中的节点。

节点必备三个属性:节点名称,类型,节点值。

 获取节点的方法体现:

                   1)getElementById();通过标签的id属性值获取该标签节点,返回该标签节点

                                        设置或获取文本innerHTML.

                   2)getElementByname()通过标签的name属性获取节点,因为name有相同,

                                          所以返回一个数组。Node[ ].value

                   3)getElementByTagName():通过标签名获取节点,因为标签会有重复,所以

                                               返回的是一个数组。Node[ ] . innerHTML

通过节点的层次关系获取节点的对象

                         关系:

                             1)父节点  用parentNode获取

                             2)子节点  用childNodes对应一个节点集合(不包括儿子的 子)

                             3) 兄弟节点

                                     (1)上一个兄弟节点  previousSibling

                                     (2)下一个兄弟节点  nextSibling

添加节点:

       方式一 1,创建一个节点使用document中的createNode方法

              2获取节点 document.getElementById("   ");

                   3将节点添加到节点中appendChild( );

       方式二: 其实是使用了容器型标签中的一个属性。innerHTML.

                          这个属性可以设置html文本。

删除节点:

             1获取节点 document.getElementById("   ");

             2使用div节点的remvoeNode方法删除一般使用removeChild方法。 删除子节点

            

 

修改节点:使用replaceNode进行替换,建议使用replaceChild方法。

“设计模式  :对问题行之有效的解决方式,其实是一种思想。

单例设计模式:保证一个类在内存中只能有一个实例。

如何保证对象唯一性?1)不允许其他程序用new创建类对象2)在该类创建本类对象实例3)对外提供一个方法让其他程序可以获得该对象

——————————————————————————————————————————————                      |   

饿汉式                                               懒汉式

类一加载,对象就已经存在了. |                         类加载进来,没有对象,只有调用方法才创

建对象

class Single2                     |

private static Single2 s=null;     

Class Single{                                            private Single2(){}

Private Ststic Single s=new Single();//注意s属于成员变量   public static Single2 getInstance() 

Private  Single(){}                                                {if(s==null)

Public static Single getInstance()                                              s=new Single2;

{return s;}                                                              return s;

}                                                                  }

 

                                                           }

 

总结

 

 

 

 

                    Html
html就是超文本标记语言的简写,是最基础的网页语言。
Html是通过标签定义的语言,代码都是有标签所组成,html代码不区分大小写,代码是由<html>开始</html>结束里面是由<head><\head>和<bady><\bady>组成。、
Html操作思想:
              为了操作数据,都需要对数据进行不同标签的封装,通过标签中的属性对封装的数据进行         
              操作,标签就像等于一个容器,对容器的数据进行操作,就是在不断的改变容器的属性值。
javaScript:是基于对象和事件驱动的脚本语言,主要应用在客户端
      特点:交互性(信息的动态交互)
            安全性(不直接访问本地硬盘)
            跨平台性(只要是可以解释JS的浏览器都可以执行,和平台无关)
javaScript和java的区别
                    1)Js是Netscape公司的产品,前身是LiveScript;java是Sun公司的产品,现在
                    是Oracle的产品
                    2)Js是基于对象,java是面向对象
                    3)Js只需要解释就可以执行,Java需要先解释成字节码,在执行
                    4)js是弱类型,java是强类型
 javaScript和java相结合的方式
                      1)将javaScript代码封装的<Script>标签中
                      2)将javaScript代码封装的js文件中,并通过<Script>中的src属性进行导入
注意:如果<Script>标签中使用了scr属性,那么该标签中封装的JavaScript代码不会执行。所以都是用js文件都是单独的使用<Script>来完成。
语法:
     1)关键字:语言中被赋予了特殊含义的单词
     2)标示符:标示数据表达式的符号
     3)注释:说明解释程序
     4)变量:变量是指在程序运行过程中值可以发生改变的量
     5)运算符:让数据进行运算的符号
     6)语句:对程序的运行流程进行控制
     7)函数:对功能进行封装
     8)数组:对多数据进行存储
     9)对象:
变量:使用关键字:var
        Var 变量名 = 值;
运算符:
      算术运算符、 赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符
Js语法的小细节:undefined  未定义,其实他就是一个常量。
               要想获取具体的值类型,可以通过typeof:  alert(typrof(“asd”))返回String。
语句:顺序、判断(if)、选择(switch)、循环、其他语句
函数:function函数名(函数列表){函数体;rturn返回语句}
函数的一些细节:只要使用函数名称就是对函数的调用,函数中有一个数组在对传入的参数进行存储,这个数组就是arguments
每日心得与总结:java是一门强类型的面向对象的编程语言,所有的对象都有类型,并且靠java虚拟机来解释执行javascript虽然有java二字,实际和java关系不大,它是一门弱类型脚本语言,里面的变量申明的时候不带类型,只到解释执行的时候才确定类型。它是靠浏览器负责解释执行的javascript可以被与很多语言如jsp php asp等一起形成丰富的网页Java与JavaScript是目前比较流行的两种语言,单从表面上看,两者名称很相似,于是许多初学者容易将二者混淆,或者直接归为一类,其实不然,虽然两者有着紧密的联系,但确是两个完全不同的语言。接下来,笔者仅就她们的几个主要差别归纳起来。众所周知,Java是SUN公司推出的程序设计语言,特别适合于Internet应用程序开发,其前身是Oak语言,而JavaScript则是NetScape公司的产品,是为了扩展NetScape
Navigator功能而开发的一种可嵌入Web页面中的解释性语言,其前身是Live Script。由于Java的普及,NetScape和SUN两家公司签订合同后才将其命名为JavaScript。Java是一种真正的纯面向对象编程语言,在Java中,一切都是对象;JavaScripr是一种脚本语言,由于她本身提供了非常丰富的内部对象供程序员使用,因而她是基于对象的语言若希望利用Java编写程序并使之运行,必须事先在系统内安装相应版本的JDK和JVM,保证代码能够得到编译和运行的环境;而编写JavaScript则相对简单,只需使用某种HTML文档编辑器甚至某种字符编辑器(如Notepad)即可,然后打开浏览器即可运行。Java中使用变量在编译之前必须声明其数据类型,因而她采用的是强类型变量;JavaScript则不用在变量前声明类型,而是由解释器在运行时自动检查,所以她是弱类型变量。另外,JavaScript仅是一种解释性语言,并没有复杂的语法和规则,更不支持如Java里的继承这样的性质,因此也比Java更加容易学习。
这一次明白什么是java什么是javascript的区别了吧,一定要理解啊,我好比容易在网上找的。

--------- android培训java培训、期待与您交流! ----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: