本篇文章給大家?guī)?lái)了JavaScript中關(guān)于箭頭函數(shù)和剩余參數(shù)的相關(guān)知識(shí),箭頭函數(shù)與剩余參數(shù)都非常簡(jiǎn)潔,下面我們就一起來(lái)看一下怎樣去使用,希望對(duì)大家有幫助。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的塔什庫(kù)爾干塔吉克網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!1.?什么是箭頭函數(shù)?箭頭函數(shù)表達(dá)式語(yǔ)法比函數(shù)表達(dá)式更簡(jiǎn)潔,即函數(shù)的一種簡(jiǎn)化形式。
它的寫法:
它的結(jié)構(gòu):
const / let 函數(shù)名 參數(shù) => 函數(shù)體比如現(xiàn)在有一個(gè)一般形式的函數(shù)表達(dá)式
let add = function(x, y) {return x + y;};可以用箭頭函數(shù)來(lái)寫:
let add = (x, y) => {return x + y;};箭頭函數(shù)沒(méi)有 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ù)沒(méi)有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ù),他沒(méi)有this,所以找外層,它的外層是printAA,它是由fun調(diào)用的,所以它的this指向fun,所以輸出fun中定義的 A,也就是 2。
實(shí)例化構(gòu)造函數(shù)之后,它的 this 指向?qū)嵗膶?duì)像,而箭頭函數(shù)沒(méi)有 this,所以它不能用來(lái)做構(gòu)造函數(shù)。
需要 this 指向調(diào)用對(duì)象的時(shí)候
需要使用 arguments 的時(shí)候
箭頭函數(shù)中沒(méi)有 arguments,可以使用剩余參數(shù)來(lái)存參數(shù)。
舉個(gè)例子:
let add = (x, y, z, ...args) => {console.log(x, y, z, args);};args就是剩余參數(shù)。 剩余參數(shù)是個(gè)數(shù)組,它即使沒(méi)有值,也是以一個(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ù)沒(méi)有值,所以空數(shù)組形式存在。
5.2) 作用由于箭頭函數(shù)沒(méi)有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í)教程】