js箭頭函式

2021-10-02 08:45:28 字數 948 閱讀 9028

let

func1=(

)=>

console.

log(

func1()

)//箭頭函式//入參為乙個時候可以省略括號//出值為乙個的時候可以省略{}

letfu2

= x => x * x;

//函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。

// this物件的指向是可變的,但是在箭頭函式中,它是固定的。

var id =21;

function

foo(),

100);}

function

foo2()

,100);

} foo.

call()

;// id: 42

foo2.

call()

;//id: 21

// 上面**中,settimeout的引數是乙個箭頭函式,

// 這個箭頭函式的定義生效是在foo函式生成時,而它的真正執行要等到100毫秒後。

// 如果是普通函式,執行時this應該指向全域性物件window,這時應該輸出21。

// 但是,箭頭函式導致this總是指向函式定義生效時所在的物件(本例是),所以輸出的是42。

//轉換後的es5版本清楚地說明了,箭頭函式裡面根本沒有自己的this,而是引用外層的this。

// this指向的固定化,並不是因為箭頭函式內部有繫結this的機制,

// 實際原因是箭頭函式根本沒有自己的this,導致內部的this就是外層**塊的this。

// es6

function

foo(),

100);}

// // es5

function

foo(),

100)

;}

js箭頭函式

箭頭函式表示式的語法比函式表示式更簡潔,並且沒有自己的this,arguments,super或new.target。箭頭函式表示式更適用於那些本來需要匿名函式的地方,並且它不能用作建構函式。1 基礎語法 param1,param2,paramn param1,param2,paramn expre...

js 箭頭函式

箭頭函式的使用,我們在做vue或者angular專案的時候,定義的函式,很多時候會有作用域的問題,特別是在進行非同步請求的時候,就必須使用到箭頭函式 最簡單的箭頭函式 function change res 相當於 function change res 非同步請求使用箭頭函式 this.axios...

js 箭頭函式

引數1,引數2,引數n 引數1,引數2,引數n 表示式 單一 相當於 引數1,引數2,引數n 當只有乙個引數時,圓括號是可選的 單一引數 單一引數 沒有引數的函式應該寫成一對圓括號。加括號的函式體返回物件字面表示式 引數 支援剩餘引數和預設引數 引數1,引數2,rest 引數1 預設值1,引數2,引...