• 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;

    },

  • 相关阅读:
    数据库查询语言(DQL)
    MySQL的约束
    MySQL的数据类型
    SQL
    MySQL简介
    个人项目网址
    Nexus Repository Manager(CVE-2020-10199/10204)漏洞分析及回显利用方法的简单讨论
    Joomla 3.0.0
    Groovy 反序列化漏洞分析(CVE-2015-3253)
    PHP反序列化漏洞新攻击面(BlackHat 2018)
  • 原文地址:https://www.cnblogs.com/tellme/p/2220299.html
Copyright © 2020-2023  润新知