在ECMAScript中我们知道可以通过for in语句进行对象属性的遍历,当然这些属性不包括继承而来的属性: var ary = [1,2,3,"aa",4]; for(i in ary) console.log(i); //遍历属性名称 在firefox以及其他浏览器实现的js语言扩展中,增加了each语句,each和in类似,不过它遍历的是对象的属性值: var a = [1,2,3,4]; for each(v in a) console.log(v); //遍历属性的值 在j…
js 1.7中还包含一个数组推导(array comprehension)的特性,如果不在最后介绍它好像显得不怎么完整. 数组推导其实很简单: let a = [x*x for(x in range(0,10)) if(x%2===0)]; 以上代码中的range()返回一个生成器对象.上述代码等价于: let a = []; for(x in range(0,10)){ if(x%2 === 0) a.push(x*x); } 在js 1.8中,将数组推导中的方括号变为圆括号,就变成一个生成器…