es6 函数扩展

//  参数默认值  在有默认值的参数后面不能有没有默认值的参数,比如(x,y='world',c) 不允许

{

      function  test( x, y='world' ){

            console.log(x,y);

      }

      test('hello');  // hello  world

      test('hello','q');  // hello  q

      let  x  =  'test';

      function  test2 (x , y=x ){

             console.log(x,y);

      }

      test2( 'kill' );  //  kill  kill

       //对不确定的参数

       function  test3(...args){

              for(let  v  of  args){

                       console.log(v);

              }

       }

       test3(1 ,2 ,3 ,4 ,'a');  // 1  2  3  4  a

}

//  扩展运算符  ...

{

       console.log(...[1 ,2 ,4]);  // 1  2  4

}

//  箭头函数

{

       // 方法名是arrow  v是参数  没有参数用()代替

      let  arrow   =  v=> v+2;

      console.log( arrow( 3 ) );  // 5

      let  arrow2 =  () => v+2;

      console.log( arrow( 3 ) );  // 5

}

// 尾调用  好处:提升性能;递归设计函数地址嵌套,相当消耗性能

{

      function  tail( x ){

              console.log( 'tail', x);

      }

      function fx( x ) {

            return  tail( x );//必须是在fx的最后一行才交尾调用

      }

       fx(1);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ES6函数的扩展 1.函数默认值 定义:ES6允许为函数设定默认值,即直接写在参数定义的后面 示例function...
    lijaha阅读 3,097评论 0 0
  • 函数新增特性 函数默认值,rest参数,扩展运算符,箭头函数,this绑定,尾调用 函数参数的默认值 rest参数...
    bjhu电net阅读 1,475评论 0 0
  • Albert Einstein: Logic will get you from A to B. Imaginat...
    意象工厂阅读 1,670评论 0 1
  • 我不爱现在的生活。这是我一直强调的话。朋友说我总是在消失。兄弟姐妹说我眼里没了神采。老妈说我整个人没有了朝气。……...
    周沫末阅读 3,647评论 0 0
  • #与孩子一起成长,做更好的自己# 孩子第一个30天目标:养成每早蹲大便的习惯,慢慢适应独自睡小床 妈妈第一个30天...
    yi_jing830阅读 741评论 0 0