web前端开发 - 4 JavaScript的BOM与DOM对象

JavaScript 的组成部分:

ECMAScript : 核心; ECMAScript是JavaScript的规格,JavaScript是ECMAScript的一种实现 .

BOM : 浏览器对象模型; 它定义了JavaScript可以进行操作的浏览器的各个功能部件的接口, BOM 的核心对象是

​ window, 它的作用使JavaScript有能力与浏览器’对话.

DOM : 文档对象模型; DOM是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口, 它是W3C 的标准[所有浏览器公共遵守的标准] .

1.BOM 浏览器对象模型

(1) window对象

window对象: 代表的是浏览器中打开的窗口, 在js中我们使用window来引用window对象, window对象是最顶层的一个对象, 它的属性和方法的调用都可以省略window.

序号属性功能
1innerHeight / innerWidth获取浏览器窗口的内部高度 / 宽度(包括滚动条)
2screen.availWidth / availHeight获取可用的屏幕宽度 / 高度
3prompt()弹出输入框
4alert()弹框警告框
5confirm()弹出确认与取消提示框(返回的布尔值true和false)
6open(‘url’)打开新窗口
7close()关闭浏览器窗口
8print()打印当前窗口的内容(调出打印机)
9moveTo(, )移动当前窗口
10resizeTo(, )调整当前窗口的尺寸

(2) location对象

location对象: 代表的是URL(统一资源定位符, 通常所说的网址); 使用location. 来调用属性

序号属性方法
1location.hostname返回 web 主机的域名
2location.pathname返回当前页面的路径和文件名
3location.port返回 web 主机的端口 (80 或 443)
4location.protocol返回所使用的 web 协议(http:// 或 https://)
5location.href返回当前页面的URL
6location.assign(‘url’)加载新的文档网页
7location.reload()重新加载, 刷新页面

(3) history对象

window.history: 对象返回浏览器的历史记录列表; 使用 history. 来调用属性

序号属性功能
1history.forward()前进
2history.back()后退
3go(number)+前进 / -后退

(4) navigator对象

navigator对象: 包含有关浏览器的信息

序号属性功能
1navigator.appCodeName浏览器代号
2navigator.appName浏览器名称
3navigator.appVersion浏览器版本
4navigator.cookieEnabled启用Cookies

(5)计时器 (计时事件)

计时事件: 我们通过使用JavaScript能做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行.

序号属性功能
1setInterval (function() {) },2000);间隔指定的毫秒数不停地执行指定的代码(周期执行)
2clearInterval()用于停止 setInterval() 方法执行的函数代码。
3setTimeout (function(){)}, 2000);在指定的毫秒数后执行指定代码(执行一次)
4clearTimeout()用于停止执行setTimeout()方法的函数代码

2.DOM 文档对象模型

使用DOM模型能够使用JS操作文档内容进行 添加, 删除, 修改, 查询, 复制, 等.

(1)获取元素节点

序号属性功能
1document. getElementById() / document.querySelector通过id查找元素, 返回带有指定id的元素对象(拿单个元素)
2document. getElementsByTagName() / getElementsByName通过标签名查找元素, 返回指定标签的所有元素的集合(使用lenght获取元素个数)
3document. getElementsByClassName() / document. querySelectorAll通过类名查找元素, 返回指定类名的所有元素的集合(使用lenght获取元素个数)

(2) 添加节点

序号属性功能
1var 变量名 = document.createElement(‘li’)创建元素节点
2var 变量名 = document.createTextNode(‘hello’)创建文本节点
3ul.appendChild(li)添加节点(添加到内部末尾)
4ul. insertBefore(li, li[0])插入节点(添加到内部之前)

(3) 删除节点

序号属性功能
1父元素.removeChild(删除的节点对象)删除指定的节点
2元素. removeAttribute(属性名)删除指定的属性

(4) 修改元素内容及属性

序号属性功能
1元素. innerHTML获取 / 修改内部的HTML文本, 会渲染标签
2元素. innerText / textContent获取 / 修改内部的纯文本
3元素. setAttribute(属性名, 属性值)修改元素的的属性, 设置新属性
4元素. getAttribute(属性名)通过元素名获取属性的值
5元素. 属性名 = 属性值直接修改属性值
6元素. style. 属性名 = 属性值修改CSS的属性

(5) 节点查找(层次)

序号属性功能
1parentNode查找某节点的父节点
2childNodes查找所有孩子节点
3children查找被选元素的所有直接子元素
4firstChild查找被选节点的第一个节点
5lastChild查找被选节点的最后一个节点
6previousSibling查找被选节点的上一个兄弟节点
7nextSibling查找备选节点的后一个兄弟节点

(6) 复制节点

序号属性功能
1var copy = node. cloneNode(true / false)参数表示是否克隆后代, 默认为false, 即不克隆后代

(7) 事件对象

事件驱动模型 : 事件(动作) –> 事件类型(动作类型) –> 事件源(事件发生的地方) –> 事件处理程序(事件响应程序 - 函

​ 数) –> 事件监听器(监听事件的发生 - 浏览器).

序号属性功能
1onclick事件在元素被点击时发生(元素被点击的整个过程)
2onload事件在页面或图像加载完成后立即发生
3onunload事件在用户退出页面时发生
4onchange事件会在域的内容改变时发生
5onfocus获得焦点是发生
6onblur失去焦点时发生
A. 鼠标属性
序号属性功能
1onmouseover鼠标移至元素上方时触发函数
2onmouseout鼠标移至移出元素时触发函数
3onmousedown鼠标按下时发生
4onmouseup鼠标释放时发生
5onmousemove鼠标被移动时发生
B. 键盘属性
序号属性功能
1onkeydown某个键盘按键被按下
2onkeyup某个键盘按键被松开
3onkeypress某个键盘按键被按下并松开的整个过程

注意: 事件回柄需要加on, 添加事件监听addEventListener类型不需要加’on’前缀, 其他都要加on.

(8) 事件冒泡与捕获

序号属性功能
1evt.stopPropagation()阻止事件冒泡
2evt.cancelBubble = true阻止事件冒泡(IE9之前)
3evt.preventDefault()阻止事件默认行为
4evt.returnValue = false阻止事件默认行为(IE9之前)

(9) 事件监听

序号属性功能
1document. addEventListener(“click”, function(){ }, true) #捕获方式默认为false添加事件监听
2document. attachEvent(‘onclick’ , function(){ })添加事件监听(IE9之前)
3document. removeEventListener(“click”, function(){ })移除事件监听
4document. detachEvent(‘onclick’ , function(){ })移除事件监听(IE9之前)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值