JavaScript学习笔记--04

DOM(document object model)

DOM是“Document Object Model”(文档对象模型)的首字母缩写。DOM代表着被加载到浏览器窗口里的当前网页:浏览器提供了当前网页的地图(或者说是模型),可以通过JavaScript去读取这张地图。


JavaScript语言里的对象可以分为三种类型:

  • 用户自定义(user-defined object):由程序员自行创建的对象。
  • 内建对象(native object):内建在JavaScript语言里的对象,如Array、Math和Date等。
  • 宿主对象(host object):由浏览器提供对象。(最基础的是window对象)
PS:window对象对应着浏览器窗口本身,这个对象的属性和方法通常被称为BOM(浏览器对象模型)——但笔者认为称之为Window Object Model(窗口对象类型)更为贴切。BOM向程序员提供了window.open和window.blur等方法。

DOM把一份文档表示为一棵树,更为具体地说,DOM把文档表示为一颗家谱树。

如下面的代码:




    
    shopping list


what to buy

Don't forget to buy this stuff.

  • A tin of beans
  • Cheese
  • Milk

以上代码的家谱树可以描述如下:

JavaScript学习笔记--04_第1张图片

节点(node)表示网络中的一个连接点。网络是由节点构成的集合。

DOM的文档树是由节点构成的集合,只不过此时的节点是文档上的树枝和树叶而已。

  • 元素节点(element node) 如上述代码中的、

      之类的元素。
    • 文本节点(text node)如上述代码中

      元素包含文本“Don't forget to buy this stuff.”,它是一个文本节点。

    • 属性节点(attribute node) 如上述代码中的title="a gentle reminder" 是一个属性节点。因为属性总是被放在其实标签里,所以属性节点总是被包含在元素节点当中。
    PS:并非所有的元素都包含属性,但是所有的属性都会被包含在元素里。

    • getElementById() 方法:将返回一个与那个有着给定id属性值的元素节点对应的对象。

    它将返回一个对象。可以用typeof操作符来验证这一点,typeof操作符可以告诉我们它的操作数是不是一个字符串、数值、函数、布尔值或对象。

    
                        
                        

你可能感兴趣的:(JavaScript,javascript)