码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript数组循环遍历、 数组元素加固定元素之forEach

时间:2015-12-09 11:22:09      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

1.forEach 函数

Firefox 和Chrome 的Array 类型都有forEach的函数。使用如下:

<!--Add by oscar999-->  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>  
<META NAME="Author" CONTENT="oscar999">  
</HEAD>  
  
<BODY>  
<script>  
var arryAll = [];  
arryAll.push(1);  
arryAll.push(2);  
arryAll.push(3);  
arryAll.push(4);  

//匿名方式
arryAll.forEach(function(e){  
    alert(e);  
})  

function t1(arg){alert(arg);}
//非匿名方式
arryAll.forEach(t1,arryAll);

</script>  
</BODY>  
</HTML> 

 

 HTML写法:

int i = 0;
Array.ForEach(guidList, t => { guidList[i] = "" + t+""; i++; })//非Js写法、数组元素加固定元素
//IE浏览器未验证,360,火狐正常使用

 

但是以上,代码在IE中却无法正常工作。

因为IE的Array 没有ForEach()这个方法:

 

 

alert(Array.prototype.forEach); 

执行以上这句得到的是  "undefined", 也就是说在IE 中 Array 没有forEach的方法。

 

2.让IE兼容forEach方法

既然IE的Array 没哟forEach方法, 我们就给它手动添加这个原型方法。

 

//Array.forEach implementation for IE support..  
//https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach 详细介绍可以参照 
if (!Array.prototype.forEach) {  
    Array.prototype.forEach = function(callback, thisArg) {  
        var T, k;  
        if (this == null) {  
            throw new TypeError(" this is null or not defined");  
        }  
        var O = Object(this);  
        var len = O.length >>> 0; // Hack to convert O.length to a UInt32  
        if ({}.toString.call(callback) != "[object Function]") {  
            throw new TypeError(callback + " is not a function");  
        }  
        if (thisArg) {  
            T = thisArg;  
        }  
        k = 0;  
        while (k < len) {  
            var kValue;  
            if (k in O) {  
                kValue = O[k];  
                callback.call(T, kValue, k, O);  
            }  
            k++;  
        }  
    };  
} 

 

Javascript数组循环遍历、 数组元素加固定元素之forEach

标签:

原文地址:http://www.cnblogs.com/fjptwwf/p/5031969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!