1、$.map(array,fn)对数组array中每个元素调用fn函数逐个进行处理,fn函数将处理返回,最后得到一个新数组。猜猜内部实现。
例子,得到一个元素值是原数组值二倍的新数组:
var arr = [3, 5, 9];
var arr2 = $.map(arr, function(item) { return item * 2; });//联想C#委托的例子。函数式编程。
$.map不能处理Dictionary风格的数组。
2、$.each(array,fn)对数组array中每个元素调用fn函数进行处理,没有返回值。猜猜内部实现。
var arr = { "tom": "汤姆", "jerry": "杰瑞", "lily": "莉莉" };
$.each(arr, function(key, value) { alert(key+"="+value); });
如果是普通风格的数组,则key的值是序号。
还可以省略function的参数,这时候用this可以得到遍历的当前元素:
var arr = [3, 6, 9];
$.each(arr, function() { alert(this); });//能读懂。
普通数组推荐用无参,用dict风格的就用key、value。
3、Live()。live(type, [data], fn) 手册API的介绍 jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。 如下用 live给class=clickme的元素绑定一个click事件: $('.clickme').live('click', function() { alert("Live handler called."); }); 当我们在某次事件又动态地添加了一个class=clickme的元素时,如 $('body').append('<div class="clickme">Another target</div>'); 然后再点击新增的元素,他依然能够触发事件处理函数。