麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 什么是箭頭函數(shù)?箭頭函數(shù)中this關(guān)鍵字的用法

什么是箭頭函數(shù)?箭頭函數(shù)中this關(guān)鍵字的用法

來源:千鋒教育
發(fā)布人:syq
時(shí)間: 2023-05-26 17:25:00 1685093100

  箭頭函數(shù)是 ES6 中新增的一種函數(shù)寫法,它的語法比傳統(tǒng)的函數(shù)更簡潔,主要使用箭頭(=>)來定義函數(shù)。

什么是箭頭函數(shù)

  一個(gè)基本的箭頭函數(shù)的形式為:

(param1, param2, …, paramN) => { statements; }

   其中:

  - `param1, param2, …, paramN` 是函數(shù)的參數(shù)。

  - `statements` 是函數(shù)的執(zhí)行代碼塊。

  與傳統(tǒng)函數(shù)不同的是,箭頭函數(shù)沒有自己的this關(guān)鍵字,它繼承了父級作用域的this值。這意味著,在箭頭函數(shù)中使用this關(guān)鍵字,它的作用域是外層的函數(shù)作用域,而不是箭頭函數(shù)自身的作用域。

  例如:

let obj = {
name: 'Jack',
sayHi: function() {
console.log(`Hi, my name is ${this.name}.`);
},
sayHiArrow: () => {
console.log(`Hi, my name is ${this.name}.`);
}
}

obj.sayHi(); // 輸出:Hi, my name is Jack.
obj.sayHiArrow(); // 輸出:Hi, my name is undefined.

   在上面的例子中,`obj.sayHi` 是一個(gè)傳統(tǒng)函數(shù),它的作用域是 `obj`,所以在打印時(shí)輸出了正確的結(jié)果。而`obj.sayHiArrow` 是一個(gè)箭頭函數(shù),它的作用域是定義它的作用域,即全局作用域。所以在打印時(shí),`this.name` 取不到值,輸出了 undefined。

  需要注意的是,當(dāng)箭頭函數(shù)作為對象方法時(shí),this指向仍可被修改。例如:

let obj = {
name: 'Jack',
sayHiArrow: () => {
console.log(`Hi, my name is ${this.name}.`);
},
sayHi: function() {
console.log(`Hi, my name is ${this.name}.`);
},
sayHiWithCall: function() {
console.log(`Hi, my name is ${this.name}.`);
}
}

obj.sayHiArrow(); // 輸出:Hi, my name is undefined.
obj.sayHi(); // 輸出:Hi, my name is Jack.
obj.sayHiWithCall.call({name: 'Tom'}); // 輸出:Hi, my name is Tom.

   在上述例子中,我們可以通過將傳統(tǒng)函數(shù)`sayHi`的普通調(diào)用方式修改為使用 `call` 方法傳入一個(gè)新的上下文來改變this指向,而對于箭頭函數(shù)`sayHiArrow`,無論如何都指向全局作用域。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
python字符串截取?

在Python中,字符串是一種非常常見的數(shù)據(jù)類型,它可以用來表示文本、數(shù)字、符號等內(nèi)容。在實(shí)際應(yīng)用中,我們經(jīng)常需要對字符串進(jìn)行截取,以便獲取...詳情>>

2023-11-02 17:56:27
Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn)?

隨著互聯(lián)網(wǎng)的發(fā)展,聊天室應(yīng)用成為人們?nèi)粘I钪惺殖R姷囊环N社交方式。Python語言的Socket模塊是實(shí)現(xiàn)網(wǎng)絡(luò)通信的重要工具,可以輕松地實(shí)現(xiàn)C/...詳情>>

2023-11-02 17:53:38
用while求1到100的奇數(shù)和?

在計(jì)算機(jī)編程中,循環(huán)語句是非常重要的一部分。而while語句是其中最基本也是最常用的一種。它的作用是在滿足一定條件的情況下,重復(fù)執(zhí)行一段代...詳情>>

2023-11-02 17:50:57
python創(chuàng)建一個(gè)集合?

在Python中,集合是一種無序且不重復(fù)的數(shù)據(jù)類型,可以用于存儲(chǔ)一組元素。創(chuàng)建一個(gè)集合非常簡單,只需要使用大括號{}或者set()函數(shù)即可。使用大...詳情>>

2023-11-02 17:34:02
linux改文件屬主命令?

Linux文件相關(guān)命令1、命令一:cat cat命令應(yīng)該是在Linux中查看文件內(nèi)容最常見的命令了。使用cat命令會(huì)打印指定文件的所有內(nèi)容到標(biāo)準(zhǔn)輸出上,比...詳情>>

2023-10-31 19:58:15
主站蜘蛛池模板: 菠萝蜜视频入口| 国产免费午夜| 国自产拍亚洲免费视频| 日韩在线视频一区二区三区| 不卡中文字幕在线| 羞羞视频在线播放| 麻豆床传媒| 美妇乱人伦交换小说| 国产123区在线视频观看| 欧美日韩亚洲视频| 红颜免费观看动漫完整版| 中文字幕在线高清| 宝贝过来趴好张开腿让我看看| 亚洲精品www久久久久久| 护士的小嫩嫩好紧好爽在线播放| 色青青草原桃花久久综合| 欧美三级在线看| 国产一级在线| 欧美a级成人淫片免费看| 欧美巨大黑人精品videos| 一级黄色欧美| 波多野结衣电影免费在线观看| 精品女同一区二区三区免费站| 美女张开腿黄网站免费| 调教在线观看| 明星造梦一区二区| 8x国产在线观看| 久久精品国产大片免费观看| 色八a级在线观看| 日韩高清在线不卡| 国产一级三级三级在线视| 久久精品无码一区二区日韩av| 亚洲免费大片| 国产免费观看青青草原网站| 天天草b| 九九九精品视频免费| 久久综合九色综合97欧美| 男人j放进女人p全黄午夜视频| a级成人毛片免费视频高清| 免费日韩三级电影| 中文亚洲日韩欧美|