1、Map方法的作用
//作用 1.遍历 数组,回调函数形参为:(被遍历的元素,被遍历的元素下标)
//$.map(arr, function (ele, index) { alert(index + ":" + ele); });
//作用 1的模拟,调用自定义myMap方法 来 遍历 arr数组,同时传入 一个 【回调函数】(用户定义,系统调用)
//myMap01(arr, function (ele, index) { alert(index + ":" + ele); });
//$.map(arr, function (ele,index) { alert(this); });
//作用 2.遍历 数组,返回新数组
//var newArr = $.map(arr, function (ele, index) { return ele * 2; });
//alert(newArr);
//var newArr = myMap02(arr, function (ele, index) { return ele * 2; });
//alert(newArr);
//作用 3.遍历 对象的属性
var obj = { id: 1, name: "james" };
//$.map(obj, function (value, key) {
// alert(key + ":" + value);
//})
myMap03(obj, function (value, key) {
alert(key + ":" + value);
})
})
//map方法模拟 遍历数组
function myMap01(arr, callback) {
//遍历 数组 的 下标
for (var index in arr)
{
var item =arr[index];//通过下标,获取当前循环的元素
callback(item, index);//调用回调函数,并传入 数组元素 和 数组下标
}
};
//map方法模拟 返回新数组
function myMap02(arr, callback) {
var arrNew = new Array(); // a,b => a,b,c
for (var i = 0; i < arr.length; i++) {
var item = arr[i];//获取当前循环的元素
arrNew[arrNew.length] = callback(item, i);//调用回调函数,并把返回值 追加到 新数组中
}
return arrNew;
};
//map方法模拟 遍历对象属性
function myMap03(obj, callback)
{
for (var key in obj)//遍历 属性名
{
var value = obj[key];//根据 对象的 属性名 获取 对象的属性值
callback(value, key);//调用回调函数,并传入 属性名 和 属性值
}
}
2、each方法的作用
$(function () {
var obj = { id: 1, name: "james" };
//方法1: 遍历对象 的属性 和 属性值 其中的this 是对应的 属性值
//$.each(obj, function (key,value) {
// alert(key + " : " + value + " , this=" + this);
//});
//var fun = new Function(); 凡是 Function的实例,都有call,apply等函数对象特有的成员
//调用 模拟的 each 方法
//myEach01(obj, function(key, value) {
// alert(key + " : " + value + " , this=" + this);
//});
//方法2:遍历 数组 其中的 this 是数组对应元素 的值
var arr = [17, 20, 3, 64];
$.each(arr, function (index, value) {
alert(index + " : " + value + ", this =" + this);
});
})
3、html()、text()、value()
//1.返回 Jquery对象里 dom数组 的第一个元素 的 innerHTML
//var strHtml = $("div").html();
//alert(strHtml);
//2.返回 Jquery对象里 dom数组 的每个元素 的 innerText 的拼接字符串
//var strHtml = $("div").text();
//alert(strHtml);
//3.返回 Jquery对象里 dom数组 的第一个元素 的 value
var strVal = $("input[type=text]").val();
alert(strVal);