【字符串相关的方法】
查找字符的位置 找到了返回下标 没找到返回-1
字符串.search(要查找的字符)
字符串.indexOf(要查找的字符)
search 还可以用在正则 截取 .slice(起始下标(要包含),结束下标 不包含) 替换 .replace(被替换的内容,替换的新内容) //不是放下标 只能替换第一个匹配到的 分割 .split(要分割的字符) 生成一个新数组 str.split('.') ==> ['fsf1','jpg'] 清除收尾空格 .trim() //正则 /^\s+|\s+$/g includes 检测是否包含 true / false
【前端获取时间】
new Date() ==> 本机的当前时间
getY getMonth.... 时间戳: 毫秒数 (new Date()).getTime() new Date().valueOf() 获取某个特定时间对应的时间戳 new Date(yyyy,mm,dd,hh,mm,ss).getTime() 算两个日期中间隔了多少天
【DOM】
js 的组成部分:
ECMAScript
1.0
2.
......
6
2020
2021
let const DOM 文档对象模型 都是和文档 页面 相关 BOM 浏览器对象模型 都是和浏览器相关的东西
【DOM】
节点 : 文档里面所有
跟节点、标签节点(元素节点)、文本节点、属性节点、注释节点
根节点 : document 获取标签节点: getElemntById className ===> 集合 TagName ===> 集合 querySelector('') //里面可以放任何的css选择器 //只能找到第一个满足条件的标签 querySelectorAll() //找到所有的 集合 querySelector : 获取元素是静态的 getElemnt : 动态的 节点1.parentNode 找节点1的父节点 节点1.children 找节点1 的标签子节点 创造节点 .createElement(标签名) .createTextNode(文本) 操作节点: 添加 父节点.appendChild(要添加的节点) 删除 父节点.removeChild(要删除的子节点) 属性节点: 获取标签的所有的属性节点 === 集合 标签节点.attributes() 获取某一个属性节点的属性值 标签节点.getAttribute(属性名) 设置某一个属性节点的属性值 标签节点.setAttribute(属性名,属性值) 删除 标签节点.removeAttribute(属性名) 类名操作: 添加某个类名 标签节点.classList.add(类名) 删除某个类名 标签节点.classList.remove(类名)
【innerHTML innerText outerHTML outerText】
标签节点.innerHTML = ''
【事件】
鼠标事件
onclick
onmousedown
onmouseup
onousemove
onmuseover 移入
onouseout 移出
ondbclick 双击
onfocus 获取焦点 input
onblur 失去焦点 input
oncontextMenu 鼠标右击事件
下拉框 选中事件 onchange ===> 选中下拉框的值的时候 键盘事件 onkeydown onkeyup onkeypress 监听不了功能键 html事件 和整个文档相关的事件 window.onscroll 滚动事件 window.onresize 窗口改变 window.onload 整个文档加载完毕
事件绑定:
传统绑定 dom 0级事件
function show(){} 节点.onclick = show 现代绑定 dom 2级事件 节点.addEventLister('click',function (){ },布尔值/默认是false) 事件流的方向: 冒泡:false ie 从内到外 捕获: true 网景 从外到内 阻止冒泡行为-/捕获 通过事件对象 event 去阻止 event.stop......() 阻止默认事件: 标签自带 浏览器自带的行为 a 跳转 button 提交/ form 里面的button 鼠标右击事件 图片拖拽 event.preventDefault() 事件对象: 事件发生过后,生成的一个对象 这个独享它里面会记录这次事件的所有的相关 function (event){ conosle.log(event) } 常用的属性: event.type 事件的类型 event.key 拿按下的键 event.offsetX event.clientX 事件发生的位置距离可视区窗口最左边的距离
【BOM】
window 窗口
|
document history历史记录 location地址栏 navigator浏览器的信息 sreen屏幕的信息
window : window.alert() window.prompt() window.confim() window.open(地址,打开的方式 _blank _self) window.close() 关闭 常用的属性: window.innerWidth 可视区窗口的宽度 window.innerHeight 可视区窗口的高度 document.documentElement.scrollTop 获取的滚动的高度 document.documentElement.scrollleft 获取的滚动 距离最左边的距离 history history.go() -2 后退两页 history.back() history.forword() location 地址栏 location.href = '地址' location.search //获取提交的数据 ? location.reload() //刷新
【es6 】
1、let const
let var 区别:
let : 局部变量
function {}
for {}
if {}
let 不能再申明前使用 var 申明 --- 变量提升/函数提升 const : 声明的常量 申明了过后就改不了了 用得要少一些 再真实的项目里面: 一般会用在项目里面一直不变的东西 特点: 1、不存在变量提升 2、不能重复声明相同的变量 3、变量申明出来了过后,必须要赋值 2、模板字符串 `` 用在字符串里面 '' "" 不支持换行的
【正则】
/规则/条件
条件: i g 规则: 转译字符 \d 数字 \w 字母数组下划线 \s 空格 \D 非数字 量词 + 一个及以上 ? 0 1 {n} 刚好n个 {n,m} 至少n个 最多m个 {n,} 至少n个 多了不限制 修饰符 | ^ $ [] 或者 [abc] a 或者 b 或者c 范围 [0-5] [a-c] [\u4e00-\u9fa5] 代表的是所有汉字 ^ : [] 里面 代表非 外面 代表开头
【定时器】
setTimeout : 几秒后调用函数 (只掉用一次)
setInterval : 每隔几秒就调用一次函数(只要不关掉 他就一直调用) setTimeout(function (){},时间(单位是毫秒)) 1s = 1000ms 清除定时器 clearTimeout(要清除的定时器的名字) clearIntervar