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 相关文章推荐
JavaScript Cookie 直接浏览网站分网址
Dec 08 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
一个JavaScript递归实现反转数组字符串的实例
Oct 14 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
Oct 17 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
Oct 22 Javascript
javascript笛卡尔积算法实现方法
Apr 08 Javascript
js同源策略详解
May 21 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 Javascript
jQuery EasyUi 验证功能实例解析
Jan 06 Javascript
JavaScript数据结构之数组的表示方法示例
Apr 12 Javascript
实现div内部滚动条滚动到底部和顶部的代码
Nov 15 Javascript
koa-passport实现本地验证的方法示例
Feb 20 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
php开发文档 会员收费1期
2012/08/14 PHP
浅析php学习的路线图
2013/07/10 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
比较基础的php面试题及答案-编程题
2012/10/14 面试题
非功能性需求都包括哪些方面
2013/10/29 面试题
销售自我评价
2013/10/22 职场文书
网站设计师的岗位职责
2013/11/21 职场文书
《狮子和兔子》教学反思
2014/03/02 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
中学生思想品德评语
2014/12/31 职场文书
不同意离婚上诉状
2015/05/23 职场文书
对讲机的最大通讯距离是多少
2022/02/18 无线电