前端入门之js基础和DOM、BOM

前端入门之js基础和DOM、BOM总结

js组成

JavaScript分成:
1.ECMAScript:JavaScript语法
2.Dom:页面文档对象模型
3.Bom:游览器对象模型
Dom+Bom 总称:Web APls 是w3c组织的标准 API:浏览器定义好的一些接口

DOM相关内容

1.什么是DOM
文档对象模型,是w3c组织推荐的处理可扩展标记语言的标准编程接口
document 是DOM的顶级对象
2.获取元素方法(常用)
(1)document.getElementByClassName(‘类名’) 类名获得元素集合
(2)document.querySelector(‘选择器’)指定选择器返回第一个元素对象
(3)document.querySelectorAll(‘选择器’)指定选择器的所有元素对象集合
console.dir();打印返回的元素对象 更好的查看里面的属性和方法
3.事件的三要素
(1)事件源 :事件被触发的对象 比如 按钮
(2)事件类型(注册事件): 如何触发 比如鼠标点击(onclick) 鼠标进过
(3)事件处理程序: 通过一个函数赋值的方式
获取事件源
注册事件
添加事件处理程序(采用函数赋值形式)
4.改变元素内容
(1)元素.innerText 改变内容时不识别html标签
(2)元素.innerHTML 改变内容时识别html标签
元素中的属性都可以修改
5.样式属性操作(表单元素通过特定属性修改)
(1)元素.style 行内样式操作 样式比较少 或者功能简单时使用
(2)元素.className 类名样式操作 重新声明一个类 然后赋值给需要的元素可以多个类 样式
6.h5新规范
自定义属性前面加 : data-什么什么
element.属性 只能获取内置属性
element.getAttribute(‘属性’) 可以获得自定义属性
7.元素属性的增删改查
添加/修改属性值:
element.属性=‘值’; 可以设置内置属性值
element.setAttribute(‘属性’,‘值’); 可以设置自定义属性值
移除属性:
element.removeAttribute(‘属性’);
8.节点操作
(1)parentNode 父节点 可以返回某节点的父节点 离得最近的一个父节点
(2)childNodes 子节点 包含空格 文本等类型 不推荐使用
(3)firstElementChild 返回第一个子节点元素 ie9以上支持
(4)lastElementChild 返回最后一个子节点元素 ie9以上支持
(5)children 返回子节点元素 开发常用
正常开发使用 没有兼容性问题
children[0] 通过索引来获取需要的第几个元素节点
children[children.length-1] 可以获取最后一个元素节点
nextElementSibling 兄弟元素节点 返回当前元素的下一个兄弟节点 ie9以上支持
previousElementSibling 返回当前元素的上一个兄弟节点 ie9以上支持
9.节点的增删改查
(1)创建与添加元素节点
document.createElement(‘元素’)创建节点元素
node.appendChild(child)添加节点元素 node父级 child子级
node.insertBefore(child,指定元素) 在一个元素上面添加一个新元素
(2)删除节点
node.removeChild(child)
(3)复制节点
node.cloneNode(false/true) 配合添加元素节点使用 括号为false 只复制标签 为true 所有的都复制
10.两种注册事件的方式
(1)传统注册事件方式
用on开头
特点:注册事件的唯一性
(2)方法监听注册方式:
addEventListener 事件监听方式 ie9兼容
特点:同一个元素同一个事件可以注册多个监听器 按注册顺序依次执行
11.阻止事件冒泡
冒泡有好有坏
好处:可以事件委托
window.event.cancelBubble=true 阻止冒泡 ie6-8使用
event.stopPropagation(); ie9以上支持
12.event事件对象
event就是一个事件对象 写到侦听函数里面 当一个形参在这里插入图片描述
在这里插入图片描述
13.常用键盘事件在这里插入图片描述

BOM相关内容

1.什么是BOM
浏览器对象模型,是独立于内容而与游览器窗口进行交互的对象
window 是BOM的顶级对象
2.页面加载机制
(1)window.οnlοad=function(){} 可以让页面全部加载玩 再执行js代码 只能有一次
(2)window.addEventListener(‘load’,function(){}) 可以多次使用
(3)document.addEventListener(‘DOMContentLoaded’,function(){})
当页面图片比较多是 用这个 ie9以上支持 可以多次
3.定时器效果
(1)setTimeout 定时器 只会执行一次
clearTimeout(定时器名字) 可以关闭定时器

(2)setInterval 定时器 会使用多次 重复调用这个函数
clearInterval(定时器名字) 可以关闭定时器
4.同步异步
前一个任务结束在执行下一个任务—同步
同时创建多个任务一起执行 —异步 事件循环: event loop
在这里插入图片描述
5.调整窗口大小事件
(1)window.οnresize=funtion(){} 调整窗口大小事件
(2)window.addEventListener(‘resize’,function(){})调整窗口大小事件
(3)window.innerWidth 可以获得当前屏幕的宽度
用来完成响应事件,根据窗口大小不同,来实现什么样式
6.offset与style区别
在这里插入图片描述
7.location常见方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8.元素偏移量offset–动画效果
在这里插入图片描述
9.BOM中三大方法总结
在这里插入图片描述
在这里插入图片描述
10.页面操作
window.pageYOffset 页面被卷去的头部 window.pageXOffset 页面被卷去 的左侧
mouseover 鼠标经过自身盒子会触发,经过子盒子也会触发
mouseenter 只会经过自身盒子触发 不会冒泡
mouseleave 搭配使用 同样不会冒泡
11.立即执行函数
(function(){})()或者 2.(function(){}())

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值