jQuery1.6 使用方法二


Posted in Javascript onNovember 23, 2011

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

Javascript 相关文章推荐
js window.onload 加载多个函数的方法
Nov 02 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
JavaScript实现的类字典插入或更新方法实例
Jul 10 Javascript
jquery原理以及学习技巧介绍
Nov 11 Javascript
完美JQuery图片切换效果的简单实现
Jul 21 Javascript
javascript实现二叉树遍历的代码
Jun 08 Javascript
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
详解webpack babel的配置
Jan 09 Javascript
webpack-dev-server自动更新页面方法
Feb 22 Javascript
Vue框架里使用Swiper的方法示例
Sep 20 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
Dec 16 Javascript
使用webpack搭建pixi.js开发环境
Feb 12 Javascript
jQuery1.6 使用方法一
Nov 23 #Javascript
JS 表单验证大全
Nov 23 #Javascript
JavaScript中的16进制字符(改进)
Nov 21 #Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 #Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 #Javascript
页面调用单个swf文件,嵌套出多个方法。
Nov 21 #Javascript
javascript中xml操作实现代码
Nov 21 #Javascript
You might like
中东人咖啡哲学
2021/03/03 咖啡文化
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
学习ExtJS form布局
2009/10/08 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
js数组去重的hash方法
2016/12/22 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
vue源码入口文件分析(推荐)
2018/01/30 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
vue更改数组中的值实例代码详解
2020/02/07 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
python实现二叉查找树实例代码
2018/02/08 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
人事专员岗位职责
2013/11/20 职场文书
爱心捐款倡议书
2014/04/14 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
在校生证明
2015/06/17 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL