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 AJAX提交中文乱码的解决方案
Jul 02 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
浅谈javascript的分号的使用
May 12 Javascript
jQuery Validate初步体验(一)
Dec 12 Javascript
javascript原生ajax写法分享
Apr 10 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
javascript 封装Date日期类实例详解
May 28 Javascript
vue做网页开场视频的实例代码
Oct 20 Javascript
js+SVG实现动态时钟效果
Jul 14 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
Feb 21 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
详解webpack-dev-middleware 源码解读
Mar 23 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 clearstatcache()函数详解
2010/03/02 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
jQuery点击弹出下拉菜单的小例子
2013/08/01 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
python执行使用shell命令方法分享
2017/11/08 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
django迁移数据库错误问题解决
2019/07/29 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
白莲教口号
2014/06/18 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
关于观后感的作文
2015/06/18 职场文书
执行力心得体会范文
2016/01/11 职场文书
2019军训心得体会
2019/06/27 职场文书
500字作文之周记
2019/12/13 职场文书
js中Object.create实例用法详解
2021/10/05 Javascript
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技