在函數擴充方向也新增了一些特性,感覺這些特性也很重要
# 一、參數預設值(注意:預設值的後面不可以在新增沒有預設值的參數)
{ 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中文網其他相關文章!