forEach 浅析

2017-12-08  本文已影响0人  梦夜空中最亮的星

今天聊聊forEach;

首先看看foreach的用法:

1. 原生JS的forEach:

参数:value数组中的当前项, index当前项的索引, array原始数组;

var ary = [1,2,3,4];

ary.forEach(function (value,index,array) {

    console.log(value+"------"+index +"------------"+array);

})

输出结果:

1------0------------1,2,3,4

2------1------------1,2,3,4

3------2------------1,2,3,4

4------3------------1,2,3,4

2. jQuery的$.each

参数:index当前项的索引;value数组中的当前项;array要遍历的数组;

var ary = [1,2,3,4];

$.each(ary,function(index, value, array) {

console.log(index+"------"+ value);

});

输出结果:

0------1

1------2

2------3

3------4

如果浏览器不支持foreach方法,那么需要我们自己封装一个都兼容的方法,代码如下:

if( !Array.prototype.forEach) {

Array.prototype.forEach = function forEach(callback){

// 获取数组长度

var len =this.length;

if(  typeof callback != "function" ) {

throw new TypeError() ;

 }

// thisArg为callback 函数的执行上下文环境

var thisArg = arguments[1];

for(vari =0; i < len; i++) {

if ( i in this ) {

// callback函数接收三个参数:当前项的值、当前项的索引和数组本身

callback.call( thisArg , this[i] , i , this ) ; 

 }

 }

 }

}

上一篇下一篇

猜你喜欢

热点阅读