mst

114 阅读3分钟

什么是事件冒泡

  • DOM事件流有3个阶段:捕获阶段,目标阶段,冒泡阶段;三个阶段的顺序为:捕获阶段——目标阶段——冒泡阶段;
  • 对于非目标阶段的元素,事件响应执行顺序遵循先捕获后冒泡的原则;通过暂缓执行捕获事件,可以达到先冒泡后捕获的效果;
  • 对于目标元素,事件响应执行顺序根据的事件的执行顺序执行;

localStorage和sessioStorage和cookei的区别

  • cookie:可设置失效时间,没有设置的话,默认是关闭浏览器后失效
  • localStorage:除非被手动清除,否则将会永久保存。
  • sessionStorage: 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除。
  • localStorage:sessionStorage: 储存有5M左右,cookei4kb左右
  • cookie:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题
  • localStorage和sessionStorage:仅在客户端(即浏览器)中保存,不参与和服务器的通信、

箭头函数

  • 不需要 function 关键字来创建函数
  • 省略 return 关键字
  • 继承当前上下文的 this 关键字

数组有哪些方法

  • join() 方法用于把数组中的所有元素放入一个字符串。
  • push() 会改变原数组,接收任意个数的元素,把它们逐个添加到数组末尾,返回值是修改后数组的长度
  • pop()删除数组末尾最后一项,返回值是被删除元素的值,会改变原数组
  • shift() 删除数组第一项,并返回删除元素的值,改变原数组
  • unshift()将参数添加到原数组开头,并返回数组的长度,改变原数组
  • sort() 改变原数组,是在原数组上进行排序,超过10以上就不对了,
  • reverse() 方法用于颠倒数组中元素的顺序。 返回值就是改变顺序后的数组,会改变原来的数组
  • concat()将一个参数或者多个参数连接到原数组的副本中,没参数时只是复制当前数组并返回副本。不会改变原有的数组
  • slice() 不会改变原数组,返回值是选定元素组成的新数组
  • splice() 会改变原始数组,返回值是 包含被删除项目的新数组(如果有的话), 空数组调用此方法不会有操作,也不会报错
  • indexOf() 不会改变原数组,可返回数组中某指定元素的索引,如果在数组中没有找到则返回-1
  • lastIndexOf() 不会改变原数组,和indexOf类似,区别在于查找方法从右到左
  • forEach() 可能会改变原数组,在原数组的基础上进行遍历,遍历过程中可以操作原数组内部元素
  • 对数组进行遍历循环,对数组中的每一项运行参数的函数。参数都是function类型,其中对应的参数分别为:遍历的数组内容,对应的数组索引,数组本身
  • map() 不会改变原数组,返回的是一个新数组,新数组中的元素为原始数组元素调用函数处理后的值
  • 指“映射”,对数组中的每一项运行参数的函数,并返回每次函数调用的结果组成的数组
  • 注意:map() 不会对空数组进行检测
  • filter() 不会改变原始数组,返回值是满足筛选条件的新数组
  • every() 不会改变原数组,返回值为true或false
  • 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
  • some() 不会改变原数组
  • 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。