8 函式的拓展

2022-05-03 07:30:13 字數 1888 閱讀 4151

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物件的指向是可變得,但是在箭頭函式中,它是固定的

function

foo() , 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關鍵字宣告內聯函式。注意 內聯函式宣告時...