JS的对象篇

(1)BOM

window对象

全局对象不能通过delete操作符删除,直接在window上定义的属性可以删除

location对象

属性:

  • hash:地址栏#后面的内容

  • host:主机及端口号

  • hostname:主机名

  • pathname:文件路径——————相对路径

  • port:端口号

  • protocol:协议

  • search:搜索的内容

  • href:设置跳转的页面

1.location.href="http://www.baidu.com"

2.location.assign("http://www.baidu.com")

3.location.reload()====》重新加载,刷新

4.location.replace()=====》没有历史记录,替换当前页面地址

history对象

  • back():后退

  • forward():前进

  • go()

navigator对象

  • userAgent:判断用户浏览器类型

  • platform:判断浏览器所在系统平爱类型

screen对象

(不常用)

(2)DOM

获取元素节点的方式

  • getElementById

  • getElementsByName

  • getElementsByTagName

  • getElementByClassName

  • querySelector:返回一个对象

  • getSelectorAll:返回数组,多个元素组成

  • firstChild

  • lastChild

  • childNodes

  • previousSibling

  • nextSibling

  • parentNode

操作节点的方法

  • createElement

  • createAttribute

  • createTextNode

  • appendChild:在末尾添加一个节点

  • insertBefore:两个参数,要插入的节点和作为参数节点

  • replaceChild:两个参数,要插入的节点和要替换的位置(被替换的节点仍然在文档中,只是没有了位置)

  • cloneNode:参数为布尔值,true表示为深克隆,false表示为浅克隆

  • removeChild:接受一个要删除的节点,并返回

操作属性

  • 对象.getAttribute(“属性名”):获取自定义属性的值

  • 对象.setAttribute(“属性名”,“值”):设置自定义属性的值

  • 对象.removeAttribute(“属性名”):删除自定义属性

节点类型

  • Document:

JavaScript通过Document类型表示文档。在浏览器中,document对象是HTMLDocument的一个实例,表示整个HTML页面。而且,document对象是window对象的一个属性,因此可以将其作为全局对象来访问。Document节点具有下列特征:

  1. nodeType的值为9

  2. nodeName的值为#document

  3. nodeValue的值为null

  4. parentNode的值为null

  5. ownerDocument的值null

  6. 其子节点可能是一个DocumentType(最多一个)、Element(最多一个)、ProcessingInstructionComment

  • Element:

除了Document类型之外,Element类型应该是Web编程中最常用的类型了。Element类型用于表现HTMLXML元素,提供了对标签名、子节点及特性的访问。Element节点具有以下特征:

  1. nodeType的值为1

  2. nodeName的值为元素的标签名

  3. nodeValue的值为null

  4. parentNode可能是DocumentElement

  5. 其子节点可能是ElementTextCommentProcessingInstructionCDATASectionEntityReference

  • Text:

文本节点由Text类型表示,包含的是可以照字面解释的纯文本内容。纯文本内容可以包含转义后的HTML字符,但不能包含HTML代码。Text节点具有以下特征:

  1. nodeType的值为3

  2. nodeName的值为#text

  3. nodeValue的值为节点所包含的文本

  4. parentNode是一个Element

  5. 不支持子节点

  • Comment:

Comment类型表示的是DOM中的注释,Comment节点具有以下特征:

  1. nodeType的值为8

  2. nodeName的值为#comment

  3. nodeValue的值是注释的内容

  4. parentNode可能是DocumentElement

  5. 不支持子节点

  • CDATASection:

CDATASection类型只针对基于XML的文档,表示的是CDATA区域。与Comment类似,CDATASection类型继承自Text类型,因此拥有除splitText()之外的所有字符串操作方法,CDATASection节点具有下列特征:

  1. nodeType的值为4

  2. nodeName的值为#cdata-section

  3. nodeValue的值是CDATA区域中的内容

  4. parentNode可能是DocumentElement

  5. 不支持子节点

  • DocumentType:

DocumentType包含着与文档的doctype有关的所有信息,它具有下列特征:

  1. nodeType的值为10

  2. nodeName的值为doctype的名称

  3. nodeValue的值为null

  4. parentNode是Document

  5. 不支持子节点

  • Attr:

元素的特性在DOM中以Attr类型来表示。在所有浏览器中,都可以访问Attr类型的构造函数和原型。从技术上讲,特性就是存在于元素的attributes属性中的节点。特性节点具有下列特征:

  1. nodeType的值为2

  2. nodeName的值是特性的名称

  3. nodeValue的值是特性的值

  4. parentNode的值为null

  5. HTML中不支持子节点

  6. XML中子节点可以是TextEntityReference

尽管它们也是节点,但特性却不认为是DOM文档树的一部分

  • DocumentFragment:

在所有节点类型中,只有DocumentFragment在文档中没有对应的标记,DOM规定文档片段是一种“轻量级”的文档,可以包含和控制节点,但不会像完整的文档那样占用额外的资源。DocumentFragment节点具有以下特征:

  1. nodeType的值为11

  2. nodeName的值为#document-fragment

  3. nodeValue的值为null

  4. parentNode的值为null

  5. 子节点可以是ElementProcessingInstructionCommentTextCDATASectionEntityReference

你可能感兴趣的:(JS)