您的位置:首页 > Web前端 > JQuery

Jquery 中map和each的区别

2013-12-21 12:14 435 查看
<script type="text/javascript">
$(function () {
var json = {"Name":"LJW","Age":"24","Phone":"110"};
var arr = [100, 200, 300, 400];
//each 既可以对数组遍历,又可以对字典表遍历,只要是字典表遍历,但没有返回值
$.each(arr, function () {
alert(this);//对数组遍历,结果是LJW,24,110,因为this默认的是value的值
});
$.each(json, function (key, value) {
alert(key + ":" + value);
});
//map是对数组进行遍历,并且有返回值
arr = $.map(arr, function (item) {

return item * 2;
});

//拓展:通过查看源码可以看到,each内部调用了call方法
function test() {
alert(this);
}
//d第一种
test();//结果是Window ,this指的是Window
//第二种 ,通过call方法可以改变this,第一个参数就是this的指向
var a = "abc";
test.call(a);//结果就是“abc”

function test2(ar1,ar2) {
alert(this+"+"+ar1+"+"+ar2);
}
test2.call(a, "1,", "2");//给test2传参数
});

///拓展三
var json2 = [{ "Name": "LJW", "Age": "24", "Phone": "110" }, { "Name": "LQQ", "Age": "24", "Phone": "120" }];
$.each(json2, function () {
alert(this.Name);//this代表数组中的每一项,Name,和Age都是可以点出来的
});

</script>


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: