zoukankan      html  css  js  c++  java
  • 多维数组

    <script>
        var arr = [1,2,3,[4,[5,[6]]]]; // arr.length
    
        Array.prototype.each = function(fn){
            try{
                //1 目的: 遍历数组的每一项 //计数器 记录当前遍历的元素位置
                this.i || (this.i=0);  //var i = 0 ;
                //2 严谨的判断什么时候去走each核心方法
                // 当数组的长度大于0的时候 && 传递的参数必须为函数
                if(this.length >0 && fn.constructor == Function){
                    // 循环遍历数组的每一项
                    while(this.i < this.length){    //while循环的范围
                        //获取数组的每一项
                        var e = this[this.i];
                        //如果当前元素获取到了 并且当前元素是一个数组
                        if(e && e.constructor == Array){
                            // 直接做递归操作
                            e.each(fn);
                        } else {
                            //如果不是数组 (那就是一个单个元素)
                            // 这的目的就是为了把数组的当前元素传递给fn函数 并让函数执行
                            //fn.apply(e,[e]);
                            fn.call(e,e);
                        }
                        this.i++ ;
                    }
                    this.i = null ; // 释放内存 垃圾回收机制回收变量
                }
    
            } catch(ex){
                // do something
            }
            return this ;
        }
    
        arr.each(function(item){
            console.log(item);
        });
    </script>

     http://blog.csdn.net/wangyuchun_799/article/details/38460515

  • 相关阅读:
    第三次上机
    第5次作业
    第二次上机练习
    第三次作业
    第一次作业
    第一次作业
    第二次上机练习
    第二次作业
    第一次作业
    第四周作业
  • 原文地址:https://www.cnblogs.com/wang715100018066/p/6742918.html
Copyright © 2011-2022 走看看