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

}

相關文章
相關標籤/搜索