zoukankan      html  css  js  c++  java
  • ES6函数的拓展

      ES里面现在支持在函数的参数直接给参数赋一个默认值,ES6支持拓展运算符(...)三个英文的点,这个形式如function(...a)这个里面...a可以接受若干的值,这个拓展运算符也可以把若干的值转换为一个数组,也可以用来把字符串或类数组的对象转换为数组,如果把拓展运算符用于数组赋值只能放在末尾!!!

      拓展运算符的示例代码

    function add(...values) { 
        let sum = 0 ; 
        for(var val of values){ 
            sum = sum + val; 
        } 
        return sum ;
    } 
    function adds(x,y){ 
        return x+y; 
    } 
    var a = [1,44]; 
    var test = ['a','b']; 
    var ceshi = ['c','d'];
    console.log(add(1,2,3,4,5,6,7,8,9,10));         //55
    console.log(adds(...a));                    //45
    console.log([...test,...ceshi]);                //[ 'a', 'b', 'c', 'd' ]
    console.log([..."hello"]);                    //[ 'h', 'e', 'l', 'l', 'o' ]    

      

      下面说下ES6支持的箭头函数方法,这个箭头函数形如(=>)。
      示例代码
    var a = b => b;
    //等同于
    var a = function(b){
        return b;
    }

      如果不需要参数或者是需要多个参数那么久可以使用圆括号()代表参数部分。

    var a = () => 1 ;
    //等同于
    var a = function(){
        return 1;
    }
    
     var add = (a1+a2) => {a1+a2;}
    //等同于
    var add = function(a1,a2){
        return a1+a2;
    } 

      

    使用箭头函数的几点注意事项
    1.函数体内的this对象就是定义时所在的对象是固定的不可变的,而不是使用时所在的对象,如果一个函数内顺序嵌套10个箭头函数,那么只有一个this,这个this指向的是第一个箭头函数。
    2.箭头函数不可以当做构造函数(也就是不可以使用new来使用箭头函数)。
    3.不可以使用argument对象(argument可以参考 http://www.cnblogs.com/lwbqqyumidi/archive/2012/12/03/2799833.html),因为该对象函数体内不存在,如果要用使用rest参数代替。
    4.不可以使用yield命令,箭头函数不用作用在Generator。
  • 相关阅读:
    zabbix 表结构详情(基本)
    服务器监控zabbix
    服务器启动与关闭
    查看mysql中所有表的数据记录
    linux 常用进程使用命令
    linux mysql access denied for user ‘root’@’localhost'(using password:YES)
    初次使用IDEA的相关技巧
    javaweb回顾第十二篇监听器
    javaweb回顾第十一篇过滤器(附实现中文乱码问题)
    javaweb回顾第十篇JSTL
  • 原文地址:https://www.cnblogs.com/qiaohong/p/7705094.html
Copyright © 2011-2022 走看看