JQuery 操作Javascript对象和数组的工具函数小结


JQuery操作非集合数组函数
$.trim(value)
这个函数很简单,从value中删除任何前导或尾随的空白字符 。空白字符为任何匹配Javascript正则表达式\s的任何字符 。包括空格、换页、换行、回车、tab、垂直指标符等 。

$.each(container, callback)
对container的每一项进行迭代,为每一项调用回调函数callback 。
container 可以是对象或数组 。如果是js对象,则迭代其每个属性;如果是数组,则迭代其每个元素 。
callback 回调函数 。为每个迭代的调用一次 。第一个参数数组元素的下标或对象属性的名称,第二个参数是对应数组元素或对象属性的值 。调用的函数上下文(this)和第二个函数相同 。

复制代码 代码如下:

var obj = {a:1, b:2, c:3};
$.each(obj, function(name, value){
alert(name + : + value);
});

$.extend(target, source1, source2, ..., sourcen)
用source1...n 对象的属性来扩展target对象 。返回值为扩展后的对象 。
复制代码 代码如下:

var target = { a:1, b:2, c:3 };
var source1 = { c:4, d:5, e:6 };
var source2 = { e:7, f:8, g:9 };
$.extend(target, source1, source2);
$.each(target, function(name, value){
alert(name + : + value);
});

返回的值为{a:1, b:2, c:4, d:5, e:7, f:8, g:9}

$.getScript(url, callback)
动态加载js脚本 。并在成功获取脚本时调用回调函数 。

$.noConflict
避免$别名冲突 。一旦执行$.noConflict函数,就必须使用jQuery名称调用 。

JQuery处理数组函数
$.each(container, callback)
这个函数也可以迭代数组 。具体说明上面有 。

$.grep(array, callback, invert)
遍历已传入的数组,为各元素调用对调函数 。回调函数的返回值决定是否把当前元素收集到新数组,新数组作为$.grep的返回值 。callback回调函数需要返回一个bool类型的值 。如果invert省略或为false,则回调函数返回TRUE的元素被收集到返回结果中 。invert为true,则回调函数返回false的元素被收集到返回结果中 。

$.map(array, callback)
遍历数组,为各元素调用callback函数,并把callback函数返回值收集到新数组中返回 。

$.inArray(value,array)
返回已传入的值在数组中第一次出现的下标 。如果该值在数组中不存在,返回-1 。