for ... of是做为ES6新增的遍历方式,容许遍历一个含有iterator接口的数据结构而且返回各项的值。数组
for...of与 ES3中的for ... in的区别以下:浏览器
往返缓存(Back/Forward cache)缓存
往返缓存是浏览器为了在用户页面间执行前进后退操做时拥有更加流畅体验的一种策略。该策略具体表现为,当用户前往新页面时,将当前页面的浏览器DOM状态保存到bfcache中;当用户点击后退按钮的时候,将页面直接从bfcache中加载,节省了网络请求的时间。 网络
剩余运算符和扩展运算符的区别数据结构
剩余运算符和扩展运算符的区别就是,剩余运算符会收集这些集合,放到右边的数组中,扩展运算符是将右边的数组拆分红元素的集合,它们是相反的,ES6语法的环境下不要在使用arguments,使用剩余运算符替代(箭头函数没有arguments,必须使用剩余运算符才能访问参数集合)。扩展运算符能够和数组的解构赋值一块儿使用,可是必须放在最后一个,由于剩余/扩展运算符的原理实际上是利用了数组的迭代器,它会消耗3个点后面的数组的全部迭代器,读取全部迭代器的value属性,剩余/扩展运算符后不能在有解构赋值,由于剩余/扩展运算符已经消耗了全部迭代器,而数组的解构赋值也是消耗迭代器,可是这个时候已经没有迭代器了,因此会报错。函数