通常我们会用循环的方式来遍历数组.但是循环是 导致js 性能问题的原因之一.一般我们会采用下几种方式来进行数组的遍历: 方式1: for in 循环: var arr = [1,2,3,4,5]; var obj = { a : 1, b : 2, c : 3 }; for( var item in arr|obj ){ fn(item){ // do sth with arr[item]; //do sth wtih obj[item]; }; } 这里的 item: array 的索引值,对…
var testObj = { 'a':'111', 'b':'222', 'c':'333', 'd':'444'}for(var i in testObj){ console.log(i); //a,b,c,d}for(var i in testObj){ console.log(testObj[i]); //111,222,333,444…
使用JavaScript的forEach方法,我们可以轻松的循环一个数组,但如果你认为document.querySelectorAll()方法返回的应该是个数组,而使用forEach循环它: /* Will Not Work */ document.querySelectorAll('.module').forEach(function() { }); 执行上面的代码,你将会得到执行错误的异常信息.这是因为,document.querySelectorAll()返回的不是一个数组,而是一个No…
ES6 一共有5种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性). (2)Object.keys(obj) Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性). (3)Object.getOwnPropertyNames(obj) Object.getOwnPropertyNames返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可…