结构标签:header、footer、aside、section、article、nav、figure
表单标签:email、number、range、date、search、color
媒体标签:video、audio、embed
其他功能标签:process(进度条) mark(标记)、canvas
变量的声明let、const:let类似于var,但是作用域只在所在的代码块内有效。const声明常量,设定值后不会在改变。箭头函数:注意this的指向问题
()=>{ }
匿名函数:自调用。减少全局变量、避免了全局空间污染。jQuery的源码是使用了匿名函数的写法。
新增的数组方法:
indexof返回元素在数组中的索引,如果不存在返回-1。用来判断某个数组中是否含有某个元素。用途:找一个数组中的最大值或者最小值。
foreach、map:遍历循环数组。foreach无返回值,不改变原数组。map返回一个新数组,不改变原数组的值。
其中map使用频率更为高些。
var arr=[1,2,3,4,5]; arr.forEach(function(item,i,arr){ return item//1,2,3,4,5 })
var arr=[1,2,3,4]; arr.map(function(item,i,arr){ return item+1;//[2,3,4,5] })
filter:筛选。筛选不满足条件的数组。返回新数组,不改变元素组。
var arr=[1,2,4,5]; var b=arr.filter(function(a){ return a>3 })
same:循环遍历,如果有一项为true,则停止遍历。不改变元数组。
var arr = [11,33,22]; arr.some((item,index,arr) => { return item > 22 //结果为true })
every:每一个满足条件即为true;
reduce:累积。主要的用途是是一个数组扁平化,也就是使用它可以把二维数组转换成一个为数组
var arr=[[1,2].[3,4]]; arr.reduce(function(a,b){ return a.concat(b) })
... :扩展运算符,可以将数组转换成数组。
Set对象不是数组,可以用来保存基本变量,保存的值是唯一的,所以可以用Set实现数组去重。
var arr = [1,1,1,1,2,2,3,4]; var set = new Set(arr); for(let i of set){ // console.log(i); } // Set 不是数组,所以需要在进行处理完之后需要在转换成数组。 console.log( Array.from(set) ); // 方法一 arr = [...set]; //方法二 console.log(arr);
Set的常用方法
var arr = [1,1,1,1,2,2,3,4]; var set = new Set(arr); for(let i of set){ console.log(i); } set.add(111); // 尾部增加元素 返回值是Set对象本身 // console.log(set) //Set(5) {1, 2, 3, 4, 111} // console.log(set.size); // 长度5 // set.clear(); // 清空 // set.entries() // 返回一个新的[value, value]数组迭代器对象 for (let item of set.entries()) { console.log(item); // [1, 1] [2, 2] [3, 3] [4, 4] [111, 111] }