# 原生js


# DOM笔记

    //向文档写 HTML 表达式 或 JavaScript 代码
    document.write()
    //返回对拥有指定 id 的第一个对象的引用。
     document.getElementById();
     // 方法返回文档中所有指定类名的元素集合
     document.getElementsByClassName();
     //返回带有指定标签名的对象集合。
     document.getElementsByTagName(); 
     //返回文档的根节点
     document.documentElement();
     //返回文档中匹配指定的CSS选择器的第一元素 
     document.querySelector()
     //是 HTML5中引入的新方法,返回文档中匹配的CSS选择器的所有元素节点列表
     document.querySelectorAll();

# 鼠标事件

 onclick 当用户点击某个对象时调用的事件句柄。
 onmouseenter 当鼠标指针移动到元素上时触发。
 ondblclick  当用户双击某个对象时调用的事件句柄。

# Math 对象

random()  返回 0 ~ 1 之间的随机数。
floor(x)  对 x 进行下舍入。
ceil(x)   对数进行上舍入。
max(x,y,z,...,n)  返回 x,y,z,...,n 中的最高值
min(x,y,z,...,n)   返回 x,y,z,...,n中的最低值。
round(x)  	四舍五入。

# Array 对象方法

concat()    连接两个或更多的数组,并返回结果              `非变异方法`
fillter()   检测数值元素,并返回符合条件所有的数组
indexOf()   搜索数组中的元素,并返回他所在的位置
isArray()   判断对象是否是数组
join()     把数组所有元素放在放在字符串                 `非变异方法`
lastIndexOf  搜索数组中的元素,并返回他最后出现的位置
pop ()       删除数组的最后一个元素并返回删除的元素         `变异方法`
push()      向数组末尾添加一个或多个元素,并返回新长度       `变异方法`
toString()   把数组转为字符串,并返回结果
sort()      对数组元素进行排序
slice()   选取数组的一部分,并返回一个新数组(分割)        `变异方法` 
forEach()   数组每一个元素都执行一次回调函数
map()       通过指定的函数处理数组的每个元素,并返回处理后的数组     

# JavaScript 全局函数

eval()  计算 JavaScript 字符串,并把它作为脚本代码来执行。
Number()  把对象的值转换为数字。
parseFloat()  解析一个字符串并返回一个浮点数。
parseInt()   解析一个字符串并返回一个整数。
String()    	把对象的值转换为字符串。

# Window 对象属性

defaultStatus  置或返回窗口状态栏中的默认文本。

# Window 对象方法

alert()  显示带有一段消息和一个确认按钮的警告框。
prompt()  显示可提示用户输入的对话框。
getComputedStyle()  	获取指定元素的 CSS 样式。
clearInterval()  取消由 setInterval() 设置的 timeout。
clearTimeout()    取消由 setTimeout() 方法设置的 timeout。
setInterval()    按照指定的周期(以毫秒计)来调用函数或计算表达式。
setTimeout()    在指定的毫秒数后调用函数或计算表达式。

# String 对象方法

charAt()    返回在指定位置的字符。
concat()    连接两个或更多字符串,并返回新的字符串。
indexOf()    返回某个指定的字符串值在字符串中首次出现的位置。
match()     查找找到一个或多个正则表达式的匹配。
repeat()    	复制字符串指定次数,并将它们连接在一起返回。
split()     把字符串分割为字符串数组。
valueOf()     	返回某个字符串对象的原始值。
slice()      提取字符串的片断,并在新的字符串中返回被提取的部分。

# Date 对象

get 类方法
getFullYear()  返回四位的年份
getTime()    返回实例距离19701100:00:00的毫秒数,等同于valueOf方法
getDate()   返回实例对象对应每个月的几号(从1开始)。
getMonth()   返回月份(0表示1月,11表示12月)
getDay()    返回星期几,星期日为0,星期一为1,以此类推。
getHours()   返回小时(0-23getMinutes()  返回分钟(0-59)。
getSeconds()    返回秒(0-59)。
getMilliseconds()  返回毫秒(0-999)。

# html5 本地存储

`sessionStorage` 会话存储
`sessionStorage.setItem(键名,键值)` 设置存储
`sessionStorage.getItem(键名)` 获取存储值
`sessionStorage.removeItem(键名)` 移除存储值
`sessionStorage.clear()` 清空所有会话存储
`localStorage` 永久存储
`localStorage.getItem(键名)` 获取存储值
`localStorage.getItem(键名)` 获取存储值
`localStorage.removeItem(键名)` 移除存储值
`localStorage.clear()` 清空所有会话存储

# RegExp 正则表达式

# 正则表达式修饰符

  • i 表示不区分大小写
  • g 表示全局匹配
  • m 表示多行匹配

# RegExp 对象属性

  • global RegExp 对象是否具有标志 g
  • ignoreCase RegExp 对象是否具有标志i
  • lastIindex 一个整数,表示开始下一次匹配的字符位置
  • multiline 正则表达式对象是否具有标志 m
  • source 正则表达式的源文本

# 正则对象实例方法

  • test 用正则模式去匹配给定的的文本 返回布尔值
  • exec 在字符串中执行匹配检索,返回结果数组
  • compicle 编译正则表达式

# 支持正则表达式的string对象方法

  • search 检索与正则表达式相匹配的值
  • match 找到一个或多个正则表达式的匹配
  • replace 替换与正则表达式匹配的子串
  • split 把字符分割为字符串数组

# 方括号 中括号符 '[]':可选范围 加'^'黑名单

  • '[0-9]' 查找任何从 0 至 9 的数字。
  • '[^abc]' 查找任何不在方括号之间的字符。 (黑名单)
  • '[abc]' 查找方括号之间的任何字符。

# 园括号

  • '(red|blue|green)' 查找任何指定的选项。

# 量词

  • '*' 代表 0个 1个 n个 匹配任何包含零个或多个 n 的字符串。
  • '+' 代表 1个 n个 至少一个 匹配任何包含至少一个 n 的字符串。
  • '?' 代表 0个 1个 匹配任何包含零个或一个n的字符串。
  • '{n}' 代表允许字符的固定位数
  • '{n,}' 代表至少一个或n个字符
  • '{n,m}' 代表至少允许n个字符,最多m个字符

# js中console.log()和console.dir()的区别

console.log()会在浏览器控制台打印出信息

console.dir()可以显示一个对象的所有属性和方法