JavaScript高级程序设计-读书笔记

[TOC]

JavaScript高级程序设计

第一章 JavaScript简介

  • 文档对象模型DOM:针对XML但经过扩展用于HTML的应用程序编程接口,把整个页面映射为一个多节点结构。
    DOM不只是针对JavaScript的,很多别的语言也都实现了DOM。但在Web浏览器中,基于ECMAScript实现的DOM已经成为JavaScript的重要组成部分。
  • 浏览器对象模型BOM

第二章 在HTML中使用JavaScript

2.1 script元素

1. 使用" 不能直接写入,要写为"<\/script>",否则会被当做脚本块的结束
            open()      打开网页输出流
            close()     滚逼网页输出流
3. Element 类型
    nodeType 为1 nodeName值为元素的标签名 nodeValue值为null parentNode值可能为Document或Element
    1. HTML元素
        所有的HTML元素都由HTMLElemnt类型表示
        id  唯一标识符,对用户透明
        title   元素附加说明信息
        lang    语言代码,很少使用,用户透明
        dir     语言方向,很少使用
        className   class特性对应
    2. 取得特性
        getAttribute("class") 
            "id"/"title"/"lang"/"dir"/自定义特性(最好加上data-前缀)    
            两类不能取得特性:style[CSS文本]、onclick[因为内容为JavaScript代码]
    3. 设置特性
        setAttribute("id","someOtherId")
        removeAttribute()
    4. attributes属性 【遍历元素特征】
    atrributes属性中包含一系列节点,每个节点的nodeName是特性的名称,nodeValue是特性的值
         getNamedItem(name)     返回nodeName属性等于name的节点
         removeNamedItem(name)  从列表中移除nodeName属性等于name的节点
         setNamedItem(node)     向列表中添加节点
         item(pos)      返回位于数字pos位置处的节点
    5. 创建元素
        document.createElement("div");
4. Text类型
nodeType 为3 nodeName为”#text“ nodeValue 的值为节点所包含的文本  parentNode为Element 不支持子节点 可通过nodeValue的data属性访问Text节点中包含的文本
    appendData(text)                将text添加到节点的末尾
    deleteData(offset,count)        从offset指定的位置删除count个字符
    insertData(offset,text)         从offset指定位置插入text
    replaceData(offset,count,text)  text替换从offset到offset+cout为止处的文本
    splitText(offset)               从offset位置将当前文本节点分为两个文本节点
    substringData(offset,count)     提取从offset到offset+count位置处的字符串
    length属性:nodeValue.length、data.length
    1. 创建文本属性   document.createTextNode()
    2. 规范化文本节点  normalize()将包含多个文本节点的父元素的文本整合为单个文本
    3. 分割文本节点   splitText() 将一个文本节点分为两个,分割位置为参数
5. Comment类型
nodeType 为8 nodeName为"#comment" ...
6. CDATASection类型 
只针对于XML的文档,表示的是CDATA区域   继承自Text类型 nodeType为4 ...
7. DocumentType类型
不常用 nodeType 为0 nodeName为doctype的名称   HTML5 为 html
8. DocumentFragment类型
轻量级的文档,可以包含和控制节点,但在文档中没有对应的标记,可作为”仓库“使用,保存将来可能会添加到文档中的节点
9. Attr类型
不是DOM文档树的一部分 一般不需要直接访问特性节点

10.2 DOM操作技术

1. 动态脚本
    动态创建
                    
                    

你可能感兴趣的:(JavaScript高级程序设计-读书笔记)