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

PHP中的foreach轮回:
重要用于遍历数组
比方:
(1)//
$colors=array(“red”,”yellow”,”blue”);
foreach($colors as $value){

  echo "$value <br/>";

}

(2)//
$windows=array(“key1″=>”red”,”key2″=>”yellow”,”key3″=>”blue”);
foreach($windows as $key=>$value){

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

}

js中的foreach轮回:

  1. js 数组轮回遍历。
    数组轮回变量,最早想到的就是 for(var i=0;i<count;i++)如许的体式格局了。

除此之外,也能够运用较轻便的forEach 体式格局

  1. forEach 函数。
    Firefox 和Chrome 的Array 范例都有forEach的函数。运用以下:

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

})

</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++;  
    }  
};  

}

    原文作者:xyy_sun
    原文地址: https://segmentfault.com/a/1190000008860829
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞