单词篇
- ECMA 欧洲计算机制造商协会(一个制定标准的组织)
- script 脚本
- ECMAScript JS的标准,核心
- web 网、网络
- application 应用
- program 程序
- interface 接口
- API 应用程序接口
- APIs 很多个应用程序接口
- document 文档
- object 对象
- model 模型
- DOM (document object model) 文档对象模型
- level 级别
- element 元素
- tag 标签
- node 节点
- attribute 属性
- text 文本
- get 获取
- set 设置
- reset 重置
- rename 重命名
- by…. 根据….
- class 类
- getElementById 根据id获取页面元素
- inner 内部的、里面的
- check 检查、核对、选中
- checked 检查、核对、选中(check的过去式和过去分词)
- disabled 禁用
- readonly 只读
- select 选择
- selected 选择(select的过去式和过去分词)
- selector 选择器
- query 查询
- all 全部
- style 样式
- interval 间隔、时间间隔
- timeout 超时
- picture 图片
- add 添加
- remove 移除
- listen 听
- listener 听者、侦听器
- event 事件
- click 单击、点击
- mouse 鼠标
- enter 输入、进入、回车键
- leave 离开
- move 移动
- key 键、关键
- up 向上
- down 向下
- input 输入
- change 改变
- focus 焦点
- blur 模糊(编程中表示失去焦点)
- this 这、这个
- target 目标
- on 在 ….. 时候
- catch 捕获
- stop 停止
- propagation 传播
- prevent 防止
- default 默认的
- date 日期
- data 数据
- time 时间
- full 完整的、完全的
- year 年
- month 月
- day 日、一天
- hour 时
- minute 分
- second 秒
- local 当地的
- locale 地方
- item 项、一项
- tab 选项卡、制表符
- callback 回调
- class 类
- name 名
- list 列表
- toggle 切换
- contains 包含
- append 追加
- insert 插入
- before 在……之前
- child 孩子
- children 很多孩子(child的复数)
- clone 克隆
- previous 上一个(常简写为 prev)
- next 下一个
- sibling 兄弟姐妹
- parent 父亲
- create 创建
- offset 偏移
- client 客户端
- scroll 滚动
- resize 重置大小
- load 加载
- reload 重载(刷新)
- render 渲染
- parse 解析
- window 窗口
- navigator 导航器
- location 位置、地点
- port 端口
- host 主机
- hash 哈希
- history 历史
- back 后退
- forward 前进
- go 去、去往
- storage 存储
- session 会话
- export 出口
- import 进口
- gender 性别
- salary 薪资
- city 城市
- notaion 符号、标记法
- JSON JavaScript对象标记法
- synchronous 同步
- asynchronous 异步(常简写为 async)
- expression 表达式
- RegExp JS中的正则表达式对象
- exec 执行
- test 测试、试验
- match 匹配
- replace 替换
- search 搜索
- split 分裂
- laotang 老汤
DOM操作篇
基本认知
- DOM是干什么的?就是给程序员一个机会,能够让程序员在JavaScript中操作页面元素。
- 然后,你要注意,元素中的内容、元素的属性、元素的大小等等 都属于元素,所以要操作属性、操作内容、计算大小等等必须先得到标签。
查找元素
- document.querySelector(‘css选择器’) —— 根据css选择器,查找第一个符合条件的元素
- document.querySelectorAll(‘css选择器’) —— 根据css选择器,查找所有符合条件的元素,得到伪数组
- node.parentNode —— 查找节点的父级节点
- node.previousSibling —— 查找节点的上一个兄弟节点
- node.nextSibling —— 查找节点的下一个兄弟节点
ele.children —— 查找元素的所有子元素,得到伪数组
创建节点
document.createElement('元素名称')添加元素
父节点.appendChild(新节点)-
移除节点
-
克隆节点
节点.cloneNode()—- 只克隆当前节点节点.cloneNode(true)—- 克隆当前节点及其里面的全部内容操作内容
let 变量 = 元素.innerHTMLlet 变量 = 元素.innerText元素.innerHTML = 新的内容-
操作属性
固有属性:
let 变量 = 元素.属性名元素.属性 = 新的值
自定义属性:
let 变量 = 元素.getAttribute('属性名')元素.setAttribute('属性名', 值)元素.removeAttribute('属性名')元素.dataset—- 专门获取 data-xxx 属性设置样式
-
操作类名
let 变量 = 元素.className元素.className = 新的类名let 变量 = 元素.classList元素.classList.add('类名', '类名', ...)元素.classList.remove('类名', '类名', ...)-
尺寸位置
元素.offsetWidth只读,元素宽度,包括 padding 和 border元素.offsetHeight只读,元素的高度,包括 padding 和 border元素.offsetLeft只读,元素左上角到父定位元素左边的距离;如果没有父定位元素则表示到浏览器可视窗口左侧的距离元素.offsetTop只读,元素左上角到父定位元素上边的距离;如果没有父定位元素则表示到浏览器可视窗口顶部的距离document.documentElement.clientWidth浏览器的宽度-
事件篇
注册事件
元素.addEventListener('事件名', 处理函数, 是否在捕获阶段触发)事件处理函数中的 this 表示事件源,给谁添加的事件,this表示谁。
移除事件
元素.removeEventListener('事件名', 处理函数, 是否是移除捕获阶段的事件)事件对象
e.clientX—- 获取鼠标点击位置 距离 页面的距离e.offsetX—- 获取鼠标点击位置 距离 当前元素的距离e.key—- 获取用户按的是哪个键e.target—- 表示触发事件的元素e.target.nodeNode—- 表示触发事件的元素的名称(得到大写字母)e.preventDefault()—- 阻止默认行为e.stopPropagation()—- 阻止事件传播、阻止事件流(阻止冒泡)常用事件
load —- 页面加载事件,所有资源加载完毕后触发
- DOMContentLoaded —- 页面加载事件,html标签加载完毕即可触发
- scroll 滚动条滚动时触发
- resize 浏览器窗口改变大小时触发
- click 单击事件
- mouseenter 鼠标移入事件
- mouseleave 鼠标离开事件
- input 输入框输入事件
- keyup 键盘弹起触发
- keydown 键盘按下触发
- change 内容改变触发(input内容改变并失去焦点才能触发、下拉框更换选项时触发、文件域改变图片触发)
- focus 获取焦点时触发
- blur 失去焦点时触发
-
BOM篇
window是浏览器中最大的对象
- 使用window的属性或方法时,可以省略window
setTimeout(函数, 时间)约定时间后,执行一次函数setInterval(函数, 时间)每间隔一段时间,执行一次函数- location.href
- history.go()
- localStorage.setItem(key, value)
- localStorage.getItem(key)
-
其他
Date日期对象(会获取年月日时分秒、会获取时间戳)
- JSON对象(会和JS数据之间的相互转换)
- JS运行机制(知道 异步任务的结果,肯定在同步任务之后)
- 正则表达式
- 回调函数 ()
- 递归函数
- 重绘和回流
- 事件流
- 事件委托
