首頁 >web前端 >js教程 >ES6之函數擴充的實例教程

ES6之函數擴充的實例教程

零下一度
零下一度原創
2017-06-26 09:56:081382瀏覽

在函數擴充方向也新增了一些特性,感覺這些特性也很重要

#  一、參數預設值(注意:預設值的後面不可以在新增沒有預設值的參數)

{  function test(x, y = 'world'){
    console.log('默认值',x,y);
  }
  test('hello');//hello world
  test('hello','kill');//hello kill
}
{
  let x='test';  function test2(x,y=x){
    console.log('作用域',x,y);
  }
  test2('kill');//kill kill  这里涉及到作用域的问题   函数里面具有单独的作用域  只有没有x的时候 才会继承let所声明的x
}

#  二、rest參數(...) 將一系列離散的值轉換成陣列 同樣rest後面不可以再有參數

{  function test3(...arg){for(let v of arg){
      console.log('rest',v);
    }
  }
  test3(1,2,3,4,'a');
}

#  三、擴充運算子(...)將一個陣列轉換成一系列離散的值   

{
  console.log(...[1,2,4]);
  console.log('a',...[1,2,4]);
}

  四、箭頭函數(挺重要的,要不某些新的程式碼看不懂啊!!!) 例如a=> ;a*2  a為參數時可以用()表示

{
  let arrow = v => v*2;
  let arrow2 = () => 5;
  console.log('arrow',arrow(3));//6
  console.log(arrow2());//5

}

  五、尾呼叫 一個函數巢狀另一個函數 可以考慮尾呼叫

#
{  function tail(x){
    console.log('tail',x);
  }  function fx(x){return tail(x)
  }
  fx(123)// tail 123
}

 

以上是ES6之函數擴充的實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn