zoukankan      html  css  js  c++  java
  • 03JavaScript程序设计修炼之道_2019-05-30_20-08-14_2019-06-02_15-01-11 es6箭头函数的使用、数组、练习、数组的方法

    21arrowFun-es6.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <script>
            // 默认参数
            function fn(a,b) {
                // 希望a的默认值10
                if(typeof a == "undefined") {
                    a = 10;
                }
                console.log(a);
            }
            //fn(1,5);
            //fn();
            //fn(10,20);
            fn();
            
            function ajax(url,method="GET",dataType="json") {
                // 
            }
    
           
            /*
            function fun() {
                alert("hehe");
            }
            */
            /* 函数表达式 也是一种定义函数的方式
               特点 必须先定义 后调用      
            var fun = function() {
                alert("hehe");
            }  
            fun(); 
             */
             // 箭头函数 用箭头把小括号与函数体连接起来
            var fun = () => {
                alert("hehe");
            }
            fun();
            /* 
            function fun2(a) {
                console.log(11);
            }
            */
            /*
            var fun2 = (a)=>{
                console.log(a);
            }
    
            // 当函数形参只有一个情况下 小括号可以省略
            var fun2 = a=>{
                console.log(a);
            }
            fun2(12);
            */
            /*
            var fun3 = (a,b)=>{
                return a + b;
            }
            // 当函数体只有一条return语句 可以省略大括号以及return
            var fun3 = (a,b)=>a + b; 
            var sum = fun3(1,2);
            console.log(sum);
            */
    
            /* 
              var fun4 = function(a,b) {
                  return console.log(a+b); // 1 控制台输出a+b和 2 返回undefined
              }
            */
            var fun4 = (a,b)=>console.log(a+b);
            fun4(6,8);
            
            console.log(fun4.name); //fun4
    
            var fn = function fun5() {};
            console.log(fn.name); // fun5
            
            
        </script>
    </body>
    </html>

    22array.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <script>
            /*
            var age = 18;
            age = 17;
            console.log(age);
            */
            // 数组  一组相关联的数据的集合
            var arr = [];// 数组直接量 空数组
            var arr2 = [1,3,5,7];// 数组存放了四个元素 元素之间用逗号隔开
            var arr3 =[10,"hello",true]; // js数组的元素类型可以不一样
            /* 通过new方式创建一个数组对象
            var arr4 = new Array(); // arr4 = []
            var arr4 = new Array(5);// arr4数组有5个元素 [undefined,undefined,...] 
            var arr4 = new Array(5,2);// 5和2是元素 arr4=[5,2]
            */
            // length 数组的长度即数组元素个数
            console.log(arr.length); // 0
            console.log(arr2.length); // 4
            console.log(arr3.length); // 3
            arr3.length = 1;
            console.log(arr3.length);
            console.log(arr3);
        </script>
    </body>
    </html>

    23array2.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <script>
            /*
            var arr = [0,10,20,30,40,50];
            console.log(arr[0]); // 访问数组元素 数组名[角标] 角标0~length-1
            console.log(arr[3]);
            // 输出数组中所有的元素 数组遍历
            for(var i=0; i<arr.length; i++) {
                console.log(arr[i]);
            }
            // 优化版
            for(var i=0,len=arr.length; i<len; i++) {
                console.log(arr[i]);
            }
            // for  in 可以遍历数组或对象
            for(var i in arr) {
                //console.log(i);// 数组元素的角标
                console.log(arr[i]);
            }
    
            // es6  for of 
            for(var i of arr) {
                console.log(i);// 数组元素的值
            }
            */
            // 计算数组中所有偶数和  奇数和  以及奇数个数 偶数个数
            function getComputed(arr) {
                var oddSum = 0,oddCount = 0;
                var evenSum = 0,evenCount = 0;
                for(var i=0; i<arr.length; i++) {
                    if(arr[i]%2) {
                        oddSum += arr[i];
                        oddCount++;
                    } else {
                        evenSum += arr[i];
                        evenCount++;
                    }
                }
                return [evenSum,oddSum,oddCount,evenCount];
            }
    
            var arr = [13,56,17,32,34];
            var res = getComputed(arr); //[122, 30, 2, 3]
            console.log(res);
            // 计算数组中最大值和最小值
            function getValue(arr) {
                var max = arr[0]; //  
                var min = arr[0]; // 
                for(var i=1; i<arr.length; i++) {
                    if(arr[i] > max) {
                        max = arr[i];
                    }
                    if(arr[i] < min) {
                        min = arr[i];
                    }
                }
                return [max,min];
            }
            console.log(getValue(arr));
    
            // 练习 1 定义一个数组 存放5个数字 输出这5个数字 求出平均值
            // 练习 2 输出数组中素数个数 (函数+数组)
            // 练习 3 arr = [12,32] 输出交换后的数组arr
        </script>
    </body>
    </html>

    24array3.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <script>
            /*
               方法  push
               功能  在数组的末尾添加一个元素或多个元素
               返回值 添加完后数组的总长度
               参数  元素1[,元素2,元素3]
               
    
               方法  unshift
               功能  在数组的前面添加一个元素或多个元素
               返回值 添加完后数组的总长度
               参数  元素1[,元素2,元素3]
    
               方法  pop
               功能  在数组的末尾删除一个元素
               返回值 被删除的那个元素
               参数  无参数
    
               方法  shift
               功能  在数组的前面删除一个元素
               返回值 被删除的那个元素
               参数  无参数
    
               方法  splice
               功能  从数组中添加/删除/替换项目。
               返回值 返回被删除的项目
               参数  (index,len)
                    (index,0,item1,item2,...)
    
               方法  slice
               功能  返回选择的元素
               返回值 选择的元素构成的新的数组
               参数  (start,end)
               
               方法  join
               功能  把数组的元素以指定的符号(默认是逗号) 串起来
               返回值 拼接后的字符串
               参数   分隔符
               
               方法  concat
               功能  连接数组
               返回值 连接后的大数组
               参数   一个数组或者多个数组
    
               方法  reverse
               功能  数组逆序
               返回值 逆序后的原数组
               参数   无
            */
            /*
            var arr = [1,2,3];
            //arr[3] = 4;
            var res = arr.push(4,6);
            console.log(res);
            console.log(arr);
            var len = arr.unshift(0);
            console.log(arr);
            console.log(len);
            */
            var arr = [2,4,6,8];
            //var res = arr.pop();
            //var res2 = arr.shift();
            //console.log(arr,res,res2);
            //var res = arr.splice(1,1); // 从序号为1的元素开始 删除1个元素
            //var res = arr.splice(2,0,5,5,5); // 从序号为2的元素开始  添加5作为元素
            //var res = arr.splice(1,2,7,7);
            //console.log(arr); // [2,7,7,8]
            //console.log(res);// [4,6]
    
            // 定义一个长度10的数组 任意输入一个数 判断这个数是否存在数组中 假如存在就删除数组这个值
            function fnDel(arr,num) {
                var flag = true;// 假设不存在
                for(var i=0; i<arr.length; i++) {
                    if(arr[i] === num) {
                        arr.splice(i,1);
                        flag = false;
                    }
                }
                if(flag) {
                    return num+"在数组中不存在";
                }
                return arr;
            }
            var res = fnDel([23,12,43,23,11],123);
            console.log(res);
    
            var res2 = arr.slice(1,3); // 从序号为1开始截取到序号为3但不包含3的元素构成的数组
            console.log(arr);
            console.log(res2);//[4, 6]
    
            var res3 = arr.join("-");
            console.log(res3);//"2,4,6,8"
    
            var arr2 = [-2,-4,0,-6];
            var resArr = arr.concat(arr2,[100,100]);
            console.log(arr,arr2,resArr);
            console.log(arr2.reverse(),arr2);// [-6,0,-4,-2]
            console.log("*******************");
            function fnReverse(arr) {
                var brr = [];
                for(var i=arr.length-1; i>=0; i--) {
                    brr.push(arr[i]);
                }
                arr = brr;
                return arr; 
            }
            console.log(fnReverse([1,2,0,9]));
        </script>
    </body>
    </html>

     

     

     

     

  • 相关阅读:
    三毛
    深复制和浅复制
    并发和并行
    PhotoKit保存图片到相册
    利用代码块
    Maven打包程序
    通过Nginx+Tomcat简单实现发布时不间断服务的提供
    C# java MD5加密方不一致问题
    SpringBoot读取配置值的方式
    Java8之集合排序
  • 原文地址:https://www.cnblogs.com/HiJackykun/p/11129580.html
Copyright © 2011-2022 走看看