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 表单验证常见正则
Sep 28 Javascript
JQuery 选择器 xpath 语法应用
May 13 Javascript
JS清除IE浏览器缓存的方法
Jul 26 Javascript
js解决弹窗问题实现班级跳转DIV示例
Jan 06 Javascript
js右下角弹出提示框示例代码
Jan 12 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 Javascript
JS构造函数与原型prototype的区别介绍
Jul 04 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 Javascript
bmob js-sdk 在vue中的使用教程
Jan 21 Javascript
axios实现文件上传并获取进度
Mar 25 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 insert语法详解
2008/06/07 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
几个有趣的Javascript Hack
2010/07/24 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
详解JavaScript执行模型
2020/11/16 Javascript
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
Python中的getopt函数使用详解
2015/07/28 Python
Python定时器实例代码
2017/11/01 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
在线服装零售商:SheIn
2016/07/22 全球购物
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
保险公司晨会主持词
2014/03/22 职场文书
奥巴马的演讲稿
2014/05/15 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
道歉信范文
2015/05/12 职场文书
高二英语教学反思
2016/03/03 职场文书
python 模块重载的五种方法
2021/04/24 Python
TV动画《间谍过家家》公开PV
2022/03/20 日漫
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js