1.函式引數的預設值
2.rest引數
3.擴充套件運算子
4.嚴格模式
5.name屬性
var f = v => v;
上面的箭頭函式等同於:
var f = function(v) ;
如果箭頭函式不需要引數或者需要多個引數,就使用乙個圓括號代表引數部分。
var f = () => 5;//等同於
var f = function () ;
var sum = (num1, num2) => num1 +num2;
//等同於
var sum = function
(num1, num2) ;
如果箭頭函式的**塊部分多於一條語句,就要使用大括號將它們括起來,並且使用return語句返回
var sum = (num1, num2) =>
由於大括號被解釋為**塊,所以如果箭頭函式直接返回乙個物件,必須在物件外面加上括號。
var gettempitem = id => ();
箭頭函式可以與變數解構結合使用。
const full = () => first + ' ' +last;//等同於
function
full(person)
箭頭函式使得表達更加簡潔。
const iseven = n => n % 2 == 0;const square = n => n * n;
上面**只用了兩行,就定義了兩個簡單的工具函式。如果不用箭頭函式,可能就要占用多行,而且還不如現在這樣寫醒目。
箭頭函式的乙個用處是簡化**函式。
//正常函式寫法
[1,2,3].map(function
(x) );
//箭頭函式寫法
[1,2,3].map(x => x * x);
另乙個例子是
//正常函式寫法
var result = values.sort(function
(a, b) );
//箭頭函式寫法
var result = values.sort((a, b) => a - b);
下面是rest引數與箭頭函式結合的例子。
const numbers = (...nums) =>nums;numbers(1, 2, 3, 4, 5)
//[1,2,3,4,5]
const headandtail = (head, ...tail) =>[head, tail];
headandtail(1, 2, 3, 4, 5)
//[1,[2,3,4,5]]
箭頭函式有幾個使用注意點。
(1)函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。
(2)不可當做建構函式,也就是說,不可以使用new命令,否則會跑出乙個錯誤。
(3)不可以使用arguments物件,該物件在函式體內不存在。如果要用,可以用rest引數代替。
(4)不可以使用yield命令,因此箭頭函式不能用作generator函式。
上面四點中,第一件尤其值得注意。this物件的指向是可變得,但是在箭頭函式中,它是固定的
functionfoo() , 100);
}var id = 21;
foo.call();
//id: 42
7.繫結this
8.尾呼叫優化
9.函式引數的尾逗號
8 使用aix拓展 fsyzty
首先呢,找到 好的.aix檔案 的檔案不是aix的話 可以嘗試雙擊檔案,使用壓縮包軟體開啟,裡面通常就有乙個aix檔案 如果 的時候使用的是ie 或者 edge,嘗試換乙個瀏覽器如chrome 還不行的話,直接在qq向我要即可 aix檔案需要作為乙個整體上傳,所以不需要再做任何操作,包括解壓aix檔...
es6的函式拓展
參考 1.增加函式預設值 es6允許為函式提供預設值,與解構賦值一起使用,非常地方便 function foo foo 相當於執行let 輸出undefined 5 foo 相當於執行let 輸出 1 5 foo 1 2 foo typeerror cannot read property x of...
C 對C的函式拓展
一,內聯函式 1.內聯函式的概念 c 中的const常量可以用來代替巨集常數的定義,例如 用const int a 10來替換 define a 10。那麼c 中是否有什麼解決方案來替代巨集 片段呢?c 中推薦使用內聯函式代替巨集 片段,c 中使用inline關鍵字宣告內聯函式。注意 內聯函式宣告時...