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 相关文章推荐
基于jQuery的可以控制左右滚动及自动滚动效果的代码
Jul 25 Javascript
单击复制文字兼容各浏览器的完美解决方案
Jul 04 Javascript
js每隔5分钟执行一次ajax请求的实现方法
Nov 27 Javascript
js实现类似菜单风格的TAB选项卡效果代码
Aug 28 Javascript
尝试动手制作javascript放大镜效果
Dec 25 Javascript
JSON对象 详解及实例代码
Oct 18 Javascript
JavaScript屏蔽Backspace键的实现代码
Nov 02 Javascript
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
vue中使用v-model完成组件间的通信
Aug 22 Javascript
Vue vm.$attrs使用场景详解
Mar 08 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
Apr 16 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
基于mysql的论坛(5)
2006/10/09 PHP
PHP 文件上传功能实现代码
2009/06/24 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
Javascript 圆角div的实现代码
2009/10/15 Javascript
jquery.ui.draggable中文文档
2009/11/24 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
使用vuex的state状态对象的5种方式
2018/04/19 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
python获得一个月有多少天的方法
2015/06/04 Python
Python的pycurl包用法简介
2015/11/13 Python
详谈python read readline readlines的区别
2017/09/22 Python
python实现BackPropagation算法
2017/12/14 Python
python实现决策树分类
2018/08/30 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
使用python 计算百分位数实现数据分箱代码
2020/03/03 Python
django rest framework serializers序列化实例
2020/05/13 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
python中判断文件结束符的具体方法
2020/08/04 Python
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
医药营销专业个人自荐信
2013/09/29 职场文书
新年晚会开场白
2015/05/29 职场文书
小学运动会通讯稿
2015/07/18 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
python字典进行运算原理及实例分享
2021/08/02 Python