zoukankan      html  css  js  c++  java
  • jQuery1.6 方法2

    makeArray: function( array, results ) {//转换一个类似数组的对象成为真正的JavaScript数组。 results为可选参数

    var ret = results || [];//results作为存放arry的数组,如果没有定义就设置为空数组

             if ( array != null ) {{//window,String,Function,Array类型的.length不为undefined;(document.getElementById IE 为undefined,jQuery.type(document.getElementById )为object,所以类似这样的方法在IE下比较特别,可以jquery里的type方法)

            var type = jQuery.type( array );

    if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) 

    push.call( ret, array );// 传入的对象不是数组,就push加入ret数组中

    } else {

    jQuery.merge( ret, array );//传入对象是数组或者类似数组,直接合并到ret数组中

    }

    }

    return ret;

    },

    inArray: function( elem, array ) {//搜索数组中指定值并返回它的索引(如果没有找到则返回-1)。

    if ( indexOf ) {//ECMA - 262标准的浏览器都支持,IE系列要到IE9才支持Array.prototype.indexOf,

    return indexOf.call( array, elem );

    }

    for ( var i = 0, length = array.length; i < length; i++ ) {//IE9以下版本,通过循环数组来判断

    if ( array[ i ] === elem ) {

    return i;

    }

    }

    return -1;

    },

    merge: function( first, second ) {//合并数组

    var i = first.length,

    j = 0;

    if ( typeof second.length === "number" ) {//简单检测对象是否有length属性,有则循环添加到操作数组后面

    for ( var l = second.length; j < l; j++ ) {//String,Array类型

    first[ i++ ] = second[ j ];

    }

    } else {

    while ( second[j] !== undefined ) {

    first[ i++ ] = second[ j++ ];

    }

    }

    first.length = i;

    return first;

    },

    grep: function( elems, callback, inv ) {//查找满足过滤功能数组元素。原始数组不受影响。

    var ret = [], retVal;

    inv = !!inv;//转化成布尔值类型,如果没有明确指定inv或者指定为false,inv=false;

    for ( var i = 0, length = elems.length; i < length; i++ ) {

    retVal = !!callback( elems[ i ], i );//转化成布尔值类型

    if ( inv !== retVal ) {//callback返回的结果如果与inv相反,即保留

    ret.push( elems[ i ] );

    }

    }

    return ret;

    },

  • 相关阅读:
    接口和抽象类的区别联系(一)
    股指期货-基础知识
    A股魔咒
    .NET 分布式架构
    Spring Cloud Netflix
    现货、期货、期权、权证
    复盘-20190321
    复盘思考
    公司法
    2019年行情思考
  • 原文地址:https://www.cnblogs.com/tellme/p/2220299.html
Copyright © 2011-2022 走看看