php中的foreach和js中的foreach的用法和区别

PHP中的foreach循环:
主要用于遍历数组
例如:
(1)//
$colors=array("red","yellow","blue");
foreach($colors as $value){windows

echo "$value <br/>";

}数组

(2)//
$windows=array("key1"=>"red","key2"=>"yellow","key3"=>"blue");
foreach($windows as $key=>$value){函数

echo "$key".":"."$value<br/>";

}this

js中的foreach循环:prototype

  1. js 数组循环遍历。
    数组循环变量,最早想到的就是 for(var i=0;i<count;i++)这样的方式了。code

除此以外,也能够使用较简便的forEach 方式ip

  1. forEach 函数。
    Firefox 和Chrome 的Array 类型都有forEach的函数。使用以下:get

<!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); it

arryAll.forEach(function(e){

alert(e);

})

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

可是以上,代码在IE中却没法正常工做。
由于IE的Array 没有这个方法:

alert(Array.prototype.forEach);

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

//Array.forEach implementation for IE support..
//https://developer.mozilla.org...
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++;  
    }  
};

}