map和each的用法

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <!--
    说明:
    jquery-1.7.1.js 源代码 
    jquery-1.7.1.min.js  压缩过的   
    -->
    <script src="Scripts/jquery-1.7.1.min.js"></script>
    <script type="text/javascript">
        //ready与window.onload区别
        //1.Dom元素创建完毕就会触发,比window.onload先执行,后者还加载图片、CSS、JS
        //2.onload只注册一次,注册多次只执行最后一次;而ready可以注册多次。
        //$(document).ready(function () { }); 简写方式:$(function () { });
        //$是jQuery的缩写
        $(document).ready(function () {
        });
        ////map的使用(map只能对数组操作)
        ////map中三个参数 1.数组 2.操作数组方法 3.可选参数
        ////操作数组的方法也有三个参数 1.数组遍历的其中一项 2.数组的遍历项的索引 3.map的第三个参数
        var arr = [100, 200, 300, 400];
        arr = $.map(arr, function (item) {
            return item * 2;
        });
        arr = myMap(arr, function (item) {
            return item * 2;
        });
        alert(arr);
        arr = $.map(arr, function (item, i, arg) {
            return "第" + i + "项:" + item + "加上arg之后等=" + (item + arg);
        }, 3);
        ////模拟map内部实现
        function myMap(arr, fn) {
            var ret = [], value;
            for (var i = 0, length = arr.length; i < length; i++) {
                value = fn(arr[i], i);
                if (value != null) {
                    ret[ret.length] = value;
                }
            }
            return ret;
        }
        //each的使用(对数组和字典均可操作)
        //
        //function也有两个参数 1.键/下标 2.值 
        var dic = { "name""Tom""Age": 18, "Sex""男" };
        $.each(dic, function (key, value) {
            alert(key + ":" + value);
        });
        //不传参数this输出的字典的值(常用)
        $.each(dic, function () {
            alert(this);
        });
        //传一个值就是键,可根据键取值
        $.each(dic, function (key) {
            alert(key + ":" + dic[key]);
        });
        //数组 1.数组下标 2.数组值
        var arr1 = [11, 12, 13, 14, 15];
        $.each(arr1, function (key, value) {
            alert(key + ":" + value);
        });
        //数组 不传参数,this输出的是数组的值
        $.each(arr1, function () {
            alert(this);
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html> 
posted @ 2013-07-02 21:06  父辈の旗帜  阅读(293)  评论(0编辑  收藏  举报