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 Dialog的内存泄露问题解决方法
Jun 18 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
Sep 05 Javascript
Javascript面向对象扩展库代码分享
Mar 27 Javascript
jquery下checked取值问题的解决方法
Aug 09 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
Jun 18 Javascript
jQuery添加删除DOM元素方法详解
Jan 18 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
Nov 24 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
Aug 04 Javascript
JS函数节流和防抖之间的区分和实现详解
Jan 11 Javascript
在JavaScript中使用严格模式(Strict Mode)
Jun 13 Javascript
JavaScript静态作用域和动态作用域实例详解
Jun 17 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
Jan 29 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动态生成VRML网页
2006/10/09 PHP
PHP比你想象的好得多
2014/11/27 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
vue实现底部菜单功能
2018/07/24 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
详解Vue数据驱动原理
2020/11/17 Javascript
Python中的__slots__示例详解
2017/07/06 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
python实现俄罗斯方块小游戏
2020/04/24 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
三年大学自我鉴定
2014/01/16 职场文书
创业计划书如何编写
2014/02/06 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
win sever 2022如何占用操作主机角色
2022/06/25 Servers