jQuery1.6 使用方法二
2011-11-23 18:35
711 查看
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;
},
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;
},
相关文章推荐
- jQuery使用scrollTop获取div标签的滚动条已滚动高度(jQuery版本1.6+时,用prop()方法代替attr()方法)
- JQuery1.6 使用方法三
- jQuery1.6 使用方法一
- jQuery1.6 使用方法一
- JQuery1.6 使用方法三
- JQUERY1.6 使用方法四 检测浏览器
- jQuery使用$.ajax进行异步刷新的方法(附demo下载)
- jquery 使用方法
- Validation-jQuery表单验证插件使用方法
- jQuery遍历节点-find()方法使用说明
- jquery.cookie 使用方法
- 提取JQuery的ready()方法来单独使用
- jquery基础教程之deferred对象使用方法
- 【jQuery】使用get()方法以GET方式从服务器获取数据
- jQuery 中 is() 函数常见使用方法
- 【js与jquery】jquery中$.ajax()方法的使用
- jQuery的filter方法和find方法的(个人使用总结)
- Jquery AutoComplete自动完成 的使用方法实例