<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>