zoukankan      html  css  js  c++  java
  • ES6入门——函数的扩展

    1、函数参数的默认值

    在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。现在ES6可以为函数的参数添加默认值,简洁了许多。

    ES5
    function show(a,b){
        b = b || 8;
        return a*b;
    }
    console.log(show(8,8)); //64
    
    ES6
    let show = (a,b=8) => a*b;
    console.log(show(8)); //64

    2、rest参数

    ES6引入rest参数,形式为:“...变量名”,用于获取函数的多余参数,这样就不需要使用arguments对象了,rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。

    function add(...values){
        let sum = 0;
        for(var val of values){
            sum +=val;
        }
        return sum;
    }
    console.log(add(5,5,5)); //15

    3、扩展运算符

    扩展运算符是三个点,它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。该运算符主要用于函数调用。

    4、严格模式

    从ES5开始,函数内部可以设定为严格模式。ES6做了一点修改,规定只要函数参数使用了默认值、解构赋值、或者扩展运算符,那么函数内部就不能显式设定为严格模式,否则会报错。

    5、name属性

    函数的name属性,返回该函数的函数名。

    6、箭头函数

    ES6允许使用箭头(=>)定义函数

    let add = (x,y) => x+y;
    console.log(add(8,8));
                
    let show = (a,b=8) => a*b;
    console.log(show(8));
                
    let message = (c,d) => {
        return c*d;
        console.log("我是其他内容");                
    }
    console.log(message(5,5));

    7、绑定this

    箭头函数可以绑定this对象,大大减少了显式绑定this对象的写法(call、apply、bind)。但是,箭头函数并不适用于所有场合,所以ES7提出了“函数绑定”运算符,用来取代call、apply和bind的调用。函数绑定运算符是并排的两个双冒号(::),双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。

    8、尾调用优化

    尾调用是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。

    function f(x){
       return g(x);  
    }
  • 相关阅读:
    [转]Kqueue与epoll机制
    [转]Docker中的镜像
    [转]linux awk命令详解
    [转]Linux Shell 1>/dev/null 2>&1 含义
    file_get_contents(): SSL operation failed with code 1...解决办法和stream_context_create作用
    PHP abstract与interface之间的区别
    PHP基于Redis的全局订单号id
    Eclipse for php+Xdebug,搭建php单步调试环境
    Eclipse launch configuration----Eclipse运行外部工具
    MySql 缓冲池(buffer pool) 和 写缓存(change buffer) 转
  • 原文地址:https://www.cnblogs.com/fengxiongZz/p/8003744.html
Copyright © 2011-2022 走看看