国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ES(ECMAScript)之箭頭函數(shù)

IntMain / 556人閱讀

摘要:箭頭函數(shù)是中最具影響力的變化之一,它們現(xiàn)在被廣泛使用。自引入箭頭函數(shù)以來(lái),它徹底改變了代碼的編寫方式。與常規(guī)函數(shù)相比,箭頭函數(shù)的指向不同。箭頭函數(shù)也不能用作構(gòu)造函數(shù),當(dāng)實(shí)例化對(duì)象時(shí)會(huì)引發(fā)。處理事件時(shí)也是同樣的問(wèn)題。

箭頭函數(shù)是ES6 / ES2015中最具影響力的變化之一,它們現(xiàn)在被廣泛使用。

自引入箭頭函數(shù)以來(lái),它徹底改變了JavaScript代碼的編寫方式。

這是一個(gè)簡(jiǎn)單而受歡迎的變化,它允許您使用更短的語(yǔ)法編寫函數(shù),比如:

const myFunction = function foo() {
    //...
}

to

const myFunction = () => {
    //...
}

如果函數(shù)體只包含一行語(yǔ)句,則可以省略花括號(hào):

const myFunction = () => doSomething()

傳遞參數(shù):

const myFunction = (param1, param2) => doSomething(param1, param2)

如果只有一個(gè)參數(shù),則可以省略括號(hào):

const myFunction = param => doSomething(param)
隱式返回

箭頭函數(shù)具有隱式返回:返回值不必使用return關(guān)鍵字。

函數(shù)體中只有一行語(yǔ)句時(shí)有效:

const myFunction = () => "test"
//返回"test"
myFunction() 

另一個(gè)例子,返回一個(gè)對(duì)象(記得在花括號(hào)外加一對(duì)大括號(hào),避免它被認(rèn)為是函數(shù)體的括號(hào)):

const myFunction = () => ({value: "test"})
//返回{value: "test"}
myFunction()
this在箭頭函數(shù)中是如何使用的

this根據(jù)上下文環(huán)境而不同,也取決于JavaScript的模式(是否是嚴(yán)格模式)。

與常規(guī)函數(shù)相比,箭頭函數(shù)的this指向不同。

當(dāng)定義為對(duì)象的方法時(shí),在常規(guī)函數(shù)中,它指的是對(duì)象,可以這樣做:

const car = {
    model: "Fiesta",
    manufacturer: "Ford",
    fullName: function() {
        return `${this.manufacturer} {this.model}`
 }
}

返回字符串 "Ford Fiesta"

箭頭函數(shù)的作用域繼承自運(yùn)行環(huán)境,所以代碼car.fullName()將不起作用,將返回字符串“undefined undefined”:

const car = {
    model: "Fiesta",
    manufacturer: "Ford",
    fullName: () => {
        return `${this.manufacturer} $  {this.model}`
    }
}

因此,箭頭函數(shù)不適合作為對(duì)象方法。

箭頭函數(shù)也不能用作構(gòu)造函數(shù),當(dāng)實(shí)例化對(duì)象時(shí)會(huì)引發(fā)TypeError。

處理事件時(shí)也是同樣的問(wèn)題。 DOM事件偵聽器將this設(shè)置為目標(biāo)元素,如果您在事件處理程序中依賴this,則需要常規(guī)函數(shù):

const link = document.querySelector("#link")
link.addEventListener("click", () => {
    // this === window
})
const link = document.querySelector("#link")
link.addEventListener("click", function() {
    // this === link
})

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/105255.html

相關(guān)文章

  • ES6學(xué)習(xí)手稿基本類型擴(kuò)展

    摘要:它是一個(gè)通用標(biāo)準(zhǔn),奠定了的基本語(yǔ)法。年月發(fā)布了的第一個(gè)版本,正式名稱就是標(biāo)準(zhǔn)簡(jiǎn)稱。結(jié)語(yǔ)的基本擴(kuò)展還有一些沒(méi)有在這里詳細(xì)介紹。 前言 ES6標(biāo)準(zhǔn)以及頒布兩年了,但是,好像還沒(méi)有完全走進(jìn)我們的日常開發(fā)。這篇文章從ES6的基本類型擴(kuò)展入手,逐步展開對(duì)ES6的介紹。 ECMAScript和JavaScript JavaScript是由Netscape創(chuàng)造的,該公司1996年11月將JavaSc...

    tommego 評(píng)論0 收藏0
  • ECMAScript 6新特性印象一:新語(yǔ)法

    摘要:下例實(shí)現(xiàn)了一個(gè)數(shù)組的迭代器在中,可迭代數(shù)據(jù)結(jié)構(gòu)比如數(shù)組都必須實(shí)現(xiàn)一個(gè)名為的方法,該方法返回一個(gè)該結(jié)構(gòu)元素的迭代器。原話是還可以傳遞返回值。 前記 按照規(guī)劃,明年年中,ECMAScript 6(ES6)就要正式發(fā)布了。 最近抽空看了Dr. Axel Rauschmayer的幾篇文章和演講PPT,對(duì)新特性有了些了解。 趁沒(méi)忘,抓緊記錄下,夾雜自己的感受。 計(jì)劃分三部分: 新語(yǔ)法...

    馬忠志 評(píng)論0 收藏0
  • 重讀《學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法-第三版》-第2章 ECMAScript與TypeScr

    摘要:第二種接口的概念和面向?qū)ο缶幊滔嚓P(guān)接口視為一份合約,在合約里可以定義這份合約的類或接口的行為接口告訴類,它需要實(shí)現(xiàn)一個(gè)叫做的方法,并且該方法接收一個(gè)參數(shù)。 定場(chǎng)詩(shī) 八月中秋白露,路上行人凄涼; 小橋流水桂花香,日夜千思萬(wàn)想。 心中不得寧?kù)o,清早覽罷文章, 十年寒苦在書房,方顯才高志廣。 前言 洛伊安妮·格羅納女士所著的《學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法》第三版于2019年的5月份...

    TZLLOG 評(píng)論0 收藏0
  • React類,方法綁定(第三部分)

    摘要:使用箭頭函數(shù)和構(gòu)造函數(shù)當(dāng)方法被調(diào)用時(shí),會(huì)保留上下文。我們能使用這個(gè)特征用下面的方法在構(gòu)造函數(shù)中重定義函數(shù)。在調(diào)用方法的方使用函數(shù)綁定語(yǔ)法你也可以直接在非構(gòu)造函數(shù)里面的里面直接使用函數(shù)綁定。 這是React和ECMAScript6/ECMAScript7結(jié)合使用系列文章的第三篇。 下面是所有系列文章章節(jié)的鏈接: React 、 ES6 - 介紹(第一部分) React類、ES7屬性初始...

    livem 評(píng)論0 收藏0
  • 常用ECMAScript6語(yǔ)法歸納

    摘要:對(duì)象的解構(gòu)賦值函數(shù)執(zhí)行后,返回的是一個(gè)對(duì)象。分別取出對(duì)象中屬性為和的值,根據(jù)解構(gòu)賦值的規(guī)則,在左側(cè)聲明變量,放在大括號(hào)中,變量名要和屬性名保持一致。箭頭函數(shù)在中,箭頭函數(shù)就是函數(shù)的一種簡(jiǎn)寫形式允許使用箭頭定義函數(shù)。 原文博客地址,歡迎學(xué)習(xí)交流:點(diǎn)擊預(yù)覽 聲明變量 可以使用let、const關(guān)鍵字聲明變量,而不推薦使用var聲明變量 var聲明變量的問(wèn)題: 可以多次重復(fù)聲明同一個(gè)變量...

    raledong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<