JS 的一些原生属性
1、数组方法
判断是否是数组: instanceof 、 Array.isArray( )
转换方法:toString( )、valueOf( )、join( ) ,前两个数组项会默认加, 第三项是会按照join 的符号来分隔数组项
栈方法:push(xxx)、pop()
队列方法:shift() (移除第一项,并且返回该项)、 unshift( xxx) (在 数组前端添加任意项,返回新数组的长度)
重排序方法:reverse( ) 反转数组项的顺序 sort() 排序
操作方法: concat(xxx) (如果传递是数组,会把数组的每一项都添加到数组中) slice() 接受1 或2个参数,即要返回的起始和结束项的位置,但是不包括结束的位置项--- slice 不会影响到原始数组。 如果参数有负数,用数组长度加上该数来确定相应的位置,
splice ( ) 方法: 第一个参数是 要删除的位置,第二个参数是要删除的个数,第三个参数可选 是要加入任意数量的项。 所以这个方法可以控制参数来达到 删除、插入、替换
位置方法:indexOf() 、 lastIndexOf() 一个是从头比较 一个是从尾比较, 返回第一个找到的元素的下标
迭代方法:every() 、some()、 map()、 forEach()、filter() 传入方法中的函数会接受三个参数(item,index,arrry)
every 表示如果数组每一项都满足条件,则返回true ; some 表示如果数组有一项满足条件,则返回true ; filter 函数中 用来判别数组中的元素是否满足某个条件,满足条件的元素会作为数组返回
map( ) 对数组的每一个元素运行给定函数,返回调用结果的数组 forEach() 直接对数组进行操作
ES6中新增不少方法,下次看到了再说---
2、DOM 事件
2.1 事件流: 第一阶段是 事件捕获 可以截获事件,第二阶段是 目标阶段 目标接收到了事件, 第三阶段是 冒泡过程 在这个阶段对事件作出响应;
DOM 事件捕获的具体流程:window > document > html (document.documentElement 获取html节点) > body > 目标元素
3、indexDB,cookie,localStorage,sessionStorage区别 。
localStorage 和 sessionStorage都是webStorage 的实例
localStorage : 用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。遵循跨域安全。 以每个源为单位,大部分2.5M or 5M
sessionStorage : 用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。 因此 sessionStorage 不是一种持久化的本地存储,仅仅是会话级别的存储。(有时浏览器崩溃后重启依然可以用 Firefox就可以)
indexedDB: 就是一个数据库,使用对象来保存数据 遵循跨域安全,FireFox 上限是每个源50MB
cookie:在浏览器端和服务器端都能设置,每次发起请求时都会传送它,每个域只能存储少量数据 4K,主要功能是标记用户信息