本篇文章給大家?guī)砹薐avaScript中關(guān)于箭頭函數(shù)和剩余參數(shù)的相關(guān)知識(shí),箭頭函數(shù)與剩余參數(shù)都非常簡潔,下面我們就一起來看一下怎樣去使用,希望對(duì)大家有幫助。

箭頭函數(shù)表達(dá)式語法比函數(shù)表達(dá)式更簡潔,即函數(shù)的一種簡化形式。
它的寫法:
它的結(jié)構(gòu):
const / let 函數(shù)名 參數(shù) => 函數(shù)體比如現(xiàn)在有一個(gè)一般形式的函數(shù)表達(dá)式
let add = function(x, y) {return x + y;};可以用箭頭函數(shù)來寫:
let add = (x, y) => {return x + y;};箭頭函數(shù)沒有 this,它會(huì)根據(jù)作用域鏈在外層中尋找 this。 舉個(gè)例子:
var A = 1;let fun = { A: 2, printA: () => { console.log(this.A); }, printAA: function() { let print = () => { console.log(this.A); } print(); }};fun.printA(); // 1fun.printAA(); // 2調(diào)用printA,里面是輸出this.A,由于箭頭函數(shù)沒有this,所以在外層尋找,外層是fun。在這里,fun.printA()是在全局作用域中調(diào)用的,所以外層的this指向的是window,由于之前用var定義了一個(gè) A = 1,所以輸出的是 1。
調(diào)用printAA,在里面調(diào)用了print(),輸出this.A,看print這個(gè)函數(shù),是個(gè)箭頭函數(shù),他沒有this,所以找外層,它的外層是printAA,它是由fun調(diào)用的,所以它的this指向fun,所以輸出fun中定義的 A,也就是 2。
實(shí)例化構(gòu)造函數(shù)之后,它的 this 指向?qū)嵗膶?duì)像,而箭頭函數(shù)沒有 this,所以它不能用來做構(gòu)造函數(shù)。
需要 this 指向調(diào)用對(duì)象的時(shí)候
需要使用 arguments 的時(shí)候
箭頭函數(shù)中沒有 arguments,可以使用剩余參數(shù)來存參數(shù)。
舉個(gè)例子:
let add = (x, y, z, ...args) => {console.log(x, y, z, args);};args就是剩余參數(shù)。 剩余參數(shù)是個(gè)數(shù)組,它即使沒有值,也是以一個(gè)空數(shù)組形式存在。 比如:
let add = (x, y, z, ...args) => { console.log(x, y, z, args);}add(1, 2, 3);x, y, z 對(duì)應(yīng)參數(shù) 1, 2, 3,由于剩余參數(shù)沒有值,所以空數(shù)組形式存在。
5.2) 作用由于箭頭函數(shù)沒有arguments,所以我們可以使用剩余參數(shù)替代arguments獲取實(shí)際參數(shù) 舉個(gè)例子:
const print = (...args) => { console.log(args);};print(1, 2);5.3) 注意事項(xiàng)在箭頭函數(shù)中,即使只有一個(gè)剩余參數(shù),也不能省略圓括號(hào)let add = (...args) => {};剩余參數(shù)只能是最后一個(gè)參數(shù),之后不能再有其他參數(shù),否則會(huì)報(bào)錯(cuò)【相關(guān)推薦:javascript學(xué)習(xí)教程】
網(wǎng)頁題目:你必須了解JavaScript箭頭函數(shù)與剩余參數(shù)
路徑分享:http://chinadenli.net/article32/cgiesc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)、微信小程序、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)