遍历数组,list是数组,fun是要用来处理数组中每一个数据的函数,fun的参数,一个是数组中的值,一个是第几个var arr = new Array(1,2,3);
Each(arr,function(n,i){alert("第"+i+"个是"+n);})
Each(arr,function(n,i){alert("第"+i+"个是"+n);})
解决方案 »
- 帮忙看看这个图片翻转功能用JS怎么做
- 要建个网站,可是不懂JS,怎么办啊?
- javascript判断客户端文件大小.
- javascript 有什么好的手册没推荐几个我下载
- 请教个JS循环打印的问题
- 读取多个JSON文件,把结果存储到数组
- 有两列是DropDownList,怎样通过第一个DropDownList来控制第二个DropDownList的数据源?
- ***&&&一個二級聯動菜單問題,問題是很簡單,可是一定要看完所有的信息,不要憑藉以前的經驗??
- 怎么才能再输入一个text框得时候使另外一个text框也能同步显示这个值呢
- 为什么我的mouseup执行很多次,而且计时器清不掉
- HTML中的select选定后触发什么事件?是onselect吗?
- javascript动态增加表格行,在行的text框中用jquery选择输入项无效
不用一遍历就得一个for直观
从函数名字上看,一看就知道是遍历了当然,有时候要在遍历里面做比较复杂的逻辑之类,还是觉得直接用for好
for(var i = 1,j = list.length; i < j; i++){ fun(list[i], i)}
}
这里进行如下修改,先让一个变量j来记录list.length这样不用每次都去计算list.length而是直接从变量j那里去获得~
<input type="button" value = " two " ><br/>
<input type="button" value = " three " ><br/>
<input type="button" value = " four " ><br/>
<input type="button" value = " five " ><br/>
<input type="button" value = " seven " ><br/>
<script language="JavaScript">
<!--
var Each = function(arr, fun){
for(var i = 0;i < arr.length;i++){
fun(arr[i], i)
}
} var obtn = document.getElementsByTagName("input");
/*Each(obtn, function(n, i){
n.onclick = function(){
alert(i)
}
})
*/
for(var i=0;i<obtn.length;i++){
obtn[i].onclick = function(num){
return function(){
alert(num)
}
}(i)
}//-->
</script>大家看下这两段代码,呵呵 我也说不太明白 到底好处在哪 但我感觉确实有好处
例如:
var a = [1,2,3,4,5,6,.....100];
var b=0;
Each(a,function(ai,i){
b+=ai;
});
==========================
prototype框架中的写法是
把这个方法定义在数组内部
Array.prototype.each=function(){}调用时
a.each(function(ai,i){
b+=ai;
});