zoukankan      html  css  js  c++  java
  • 04 函数之扩展运算符、箭头函数

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <script>
            //1.扩展运算符
            //剩余运算符:把多个独立的合并到一个数组中
            //扩展运算符:将一个数组分割,并将多个项作为分离的参数传给函数...具名参数
            // const maxNum = Math.max(20,30);

            //处理数组中的最大值
            //es5 使用apply
            const arr = [12,3,44,5,565,67,44]
            console.log(Math.max.apply(null,arr));//565

            //es6 使用扩展运算法
            console.log(Math.max(...arr))//565

            //es6的箭头函数
            //使用=>来定义 function(){}等于()=>{}

            let add = function (a,b) {
                return a + b;
            }

            // let add = (a,b)=>{
            //     return a+b;
            // }
            console.log(add(10,20))
            //以上更简洁
            // let add = (a,b)=>(a+b);

            //一个参数
            // let add = val =>{
            //     return val+5;
            // }
            //以上更简洁
            // let add = val => (val+5);


            //没有参数
            let fn = ()=> 'hello world' + 123;
            console.log(fn);//hello world123

            //返回一个对象
            let getObj = id =>({id:id,name:'walter'});
            console.log(getObj(1))//{id:id,name:'walter'}
            console.log(getObj)

            //es6 箭头函数没有this绑定,箭头函数内部this值只能通过查找上面作用域链来确定,一旦使用箭头函数,就没有作用域链,直接查找最上面的对象
            //es5中的this指向:取决于调用该函数的上下文对象

            //使用箭头函数的注意事项
            //1.使用箭头函数,函数内部没有arguments
            let getVal = (a,b) => {
                console.log(arguments);//报错
                return a+b;
            }

            //2.箭头函数不能使用new关键字来实例化对象
            let Person = ()=>{

            };
            //function函数 也是一个对象,但是箭头函数不是一个对象,它其实就是一个语法糖
            let p = new Person();
            console.log(p)//直接报错
        </script>
    </body>
    </html>
  • 相关阅读:
    【数据结构】10.java源码关于LinkedHashMap
    【数据结构】9.java源码关于HashTable
    【数据结构】8.java源码关于HashMap
    【数据结构】7.java源码关于LinkedList
    【LEETCODE】69、动态规划,easy,medium级别,题目:198、139、221
    【LEETCODE】68、动态规划,medium级别,题目:95、120、91
    【LEETCODE】67、分治递归,medium&hard级别,题目:215、312
    【数据结构】6.java源码ArrayList
    【LEETCODE】66、字符串分类,hard级别,题目:32,72,76
    mysql查询所有表数据大小
  • 原文地址:https://www.cnblogs.com/wuhui1222/p/14202499.html
Copyright © 2011-2022 走看看