箭头函数
箭头函数没有自己的this值,其this值是通过继承其它传入对象而获得的。
1 | var button = document.getElementById('button'); |
es5 Array方法
增加了every、some 、forEach、filter 、indexOf、lastIndexOf、isArray、map、reduce、reduceRight方法。
循环
1 | var arr = [1,12,31,6,7,12,0];//全局的数组 |
array.every(callback,[ thisObject]):返回Boolean值,需要每一个值都满足条件才返回true。
索引
1 | console.log(arr.indexOf(12,'3')); |
迭代
array.reduce(callback,[initialValue]):callback函数接受4个参数:之前值、当前值、索引值以及数组本身。initialValue参数可选,表示初始值。若指定,则当作最初使用的previous值;如果缺省,则使用数组的第一个元素作为previous初始值,同时current往后排一位,相比有initialValue值少一次迭代。
1 | var reduce = arr.reduce(function(previous,current,index,array){ |
es6特性
块级作用域 关键字let, 常量const。
和var的区别:let和const不允许在相同作用域内,重复声明同一个变量。let不像var那样,会发生“变量提升”现象。const声明常量,声明之后常量的值不会改变。
let和const声明的变量内存空间不挂在于window上,而var声明的变量是挂载到window上。
1 | var a = 1; |
赋值解构
1 | let person = { name: "Bob", id: "123" }; |
字符串模板
1
2
3
var str = `<p>
hello world
</p>`
迭代器
1 | for(var item of arr){ |
新增类型
四种集合类型,WeakMap、WeakSet作为属性键的对象如果没有别的变量在引用它们,则会被回收释放掉。
Map
1 | var map = new Map();//es6,map对象,map里面的数据由键值对组成 |
Set:似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。
1 | var sets = new Set([1,2,12,9,10,5]);//es6,一个set对象使用于排除重复项 |
生成器
1 | //生成器函数以function*开头,yield在其中是关键字,可以暂时中断生成器 |
class
1 | class RangeIterator{ |
生成器生成迭代器
1 | //one,通过使用[Symbol.iterator]()和.next()来进行创建迭代器 |
剩余参数与默认值
1 | function containAll(value="cat",...needles){//es6,剩余参数与默认值 |
参考
https://www.cnblogs.com/fuheng01/articles/JS.html
https://blog.csdn.net/hbts_901111zb/article/details/79242091


