JavaScript中箭頭函數(shù)有什么用-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)JavaScript 中箭頭函數(shù)有什么用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)專注于尖山企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。尖山網(wǎng)站建設(shè)公司,為尖山等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

在JavaScript中,可以通過兩種方式創(chuàng)建函數(shù):

  • 函數(shù)語句。

  • 函數(shù)表達(dá)式。

可以如下所示創(chuàng)建函數(shù)語句:

function add(num1, num2) {
var res = num1 + num2;
return res;
}
var sum = add(7, 2);
console.log(sum);

也可以創(chuàng)建相同功能的函數(shù)表達(dá)式,如下所示:

var add = function (num1, num2) {
var res = num1 + num2;
return res;
}
var sum = add(7, 2);
console.log(sum);

ECMA 2015(或ECMA Script 6)引入了更短的語法來編寫函數(shù)表達(dá)式,稱為箭頭函數(shù)。使用箭頭函數(shù),你可以將上面的函數(shù)表達(dá)式編寫為:

var add = (num1, num2) => { return num1 + num2; };

正如你所看到的,使用箭頭函數(shù)編寫的函數(shù)表達(dá)式更短。

箭頭函數(shù)的基本語法規(guī)則

首先,參數(shù)應(yīng)該在小括號中傳遞。你可以創(chuàng)建有兩個參數(shù)的箭頭函數(shù),如下所示:

ar add = (num1, num2) => { return num1 + num2; };

如果只要傳遞一個參數(shù),那么括號是可選的,可以選擇忽略。你可以創(chuàng)建一個參數(shù)的箭頭函數(shù),如下所示:

var add = num => { return num * 10; };

如果沒有參數(shù),那么你必須要有一個空括號——不能沒有。所以對于沒有參數(shù)的函數(shù),箭頭函數(shù)是這樣寫的:

var add = () => { console.log("hey foo") };

如果函數(shù)中有單個表達(dá)式或語句:

  • 在主體中使用括號是可選的。

  • 使用return語句是可選的。

你可以重寫add函數(shù),而不使用函數(shù)體中的括號和return語句,如下所示:

var add = (num1, num2) => num1 + num2;

你也可以使用控制臺語句編寫不帶參數(shù)的函數(shù),如下所示:

var add = () => console.log("hey");

返回對象字面量

JavaScript箭頭函數(shù)也可以返回對象字面量。唯一的要求是你需要把返回對象裝入小括號中,如下所示:

var foo = (name, age) => ({
name: name,
age: age
})
var r = foo("my cat", 22);
console.log(r);

正如你所看到的那樣,要返回的對象被放在了小括號內(nèi)。如果你不這樣做,那么JavaScript將無法區(qū)分對象字面量和函數(shù)體。

箭頭函數(shù)支持rest參數(shù)

JavaScript箭頭函數(shù)支持另一個ES6功能:rest參數(shù)。你可以在箭頭函數(shù)中使用rest參數(shù),如下面的代碼所示:

var add = (num1, num2, ...restparam) => {
console.log(restparam.length);
var result = num1 + num2;
return result;
}
var r = add(67, 8, 90, 23);
console.log(r);

在這個例子中,當(dāng)你使用帶有rest參數(shù)的箭頭函數(shù)時,輸出會是2和75,因為傳遞的額外參數(shù)的數(shù)量是2,num1和num2的總和是75。

箭頭功能支持默認(rèn)參數(shù)

另外,JavaScript箭頭函數(shù)還支持另一個ES6功能:默認(rèn)參數(shù)。此處詳細(xì)介紹了默認(rèn)參數(shù)。你可以在箭頭函數(shù)中使用默認(rèn)參數(shù),如下所示:

var add = (num1 = 9, num2 = 8) => {
var result = num1 + num2;
return result;
}
var r = add();
console.log(r);

在上面的代碼中,箭頭函數(shù)中有默認(rèn)參數(shù)。調(diào)用該函數(shù)時,我們沒有傳遞任何值,并且由于默認(rèn)參數(shù)的存在,輸出將是17。

“this”在箭頭函數(shù)中如何工作?

箭頭函數(shù)沒有它自己的this值。箭頭函數(shù)中的this值總是從封閉范圍繼承。在JavaScript中,每個函數(shù)都有它自己的this值,這取決于代碼是如何調(diào)用函數(shù)的。請仔細(xì)看下面列出的代碼:

var Cat = {
name: 'mew',
canRun: function () {
console.log(this)
var foo = () => { console.log(this) }
foo();
}
};

在這里,cat是一個對象字面量,它包括:

  • 屬性名稱。

  • 方法canRun。

在canRun方法中,我們創(chuàng)建了一個箭頭函數(shù)foo,給出了this值。由于箭頭函數(shù)沒有它自己的this值,所以它將從周圍的函數(shù)獲取,因此,你將得到:

JavaScript 中箭頭函數(shù)有什么用

正如你所看到的,this值在canRun方法和箭頭函數(shù)foo中是相同的。箭頭函數(shù)從繼承范圍得到this值。如果你對此不甚清楚,那么請牢記以下兩條規(guī)則:

  • 使用object.method在方法中獲取一個有意義的對象作為this值。

  • 對于任何其他要求,使用箭頭函數(shù),由于函數(shù)沒有自己的this值,所以它將繼承封閉范圍的this值。

使用箭頭函數(shù)的限制條件

應(yīng)用箭頭函數(shù)時要注意的一些限制條件:

  • 箭頭函數(shù)沒有參數(shù)對象。

  • 箭頭函數(shù)不能與新運算符一起使用,因此它不能用作構(gòu)造函數(shù)。

  • 箭頭函數(shù)沒有原型屬性。

如果你嘗試使用箭頭函數(shù)作為構(gòu)造函數(shù),那么你會得到異常。請看下面的代碼:

var foo = (name, age) => { name = name, age = age };
var f1 = new foo("cat", 6);

代碼試圖通過使用箭頭函數(shù)foo作為構(gòu)造函數(shù)來創(chuàng)建對象f1,JavaScript將拋出以下異常:

JavaScript 中箭頭函數(shù)有什么用

而且,當(dāng)你試圖輸出箭頭函數(shù)的原型值時,你會得到undefined的輸出:

var foo = (name, age) => { name = name, age = age };
console.log(foo.prototype);

JavaScript的作用是什么

1、能夠嵌入動態(tài)文本于HTML頁面。2、對瀏覽器事件做出響應(yīng)。3、讀寫HTML元素。4、在數(shù)據(jù)被提交到服務(wù)器之前驗證數(shù)據(jù)。5、檢測訪客的瀏覽器信息。6、控制cookies,包括創(chuàng)建和修改等。7、基于Node.js技術(shù)進(jìn)行服務(wù)器端編程。

上述就是小編為大家分享的JavaScript 中箭頭函數(shù)有什么用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章題目:JavaScript中箭頭函數(shù)有什么用-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://muchs.cn/article20/dhehco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、自適應(yīng)網(wǎng)站、定制開發(fā)商城網(wǎng)站、關(guān)鍵詞優(yōu)化、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)