摘要:箭頭函數(shù)是前端面試環(huán)節(jié)的一個(gè)高頻考點(diǎn),一般會(huì)問(wèn)箭頭函數(shù)的是指如何用普通函數(shù)實(shí)現(xiàn)一個(gè)箭頭函數(shù)箭頭函數(shù)有哪些優(yōu)點(diǎn)帶著這些問(wèn)題,小編帶各位上路吧箭頭函數(shù)與普通函數(shù)得區(qū)別普通函數(shù)函數(shù)作為全局函數(shù)被調(diào)用時(shí),指向全局對(duì)象函數(shù)作為對(duì)象中的方法被調(diào)用時(shí),指
箭頭函數(shù)是前端面試環(huán)節(jié)的一個(gè)高頻考點(diǎn),一般會(huì)問(wèn)
1、箭頭函數(shù)的this是指?
2、如何用普通函數(shù)實(shí)現(xiàn)一個(gè)箭頭函數(shù)
3、箭頭函數(shù)有哪些優(yōu)點(diǎn)
箭頭函數(shù)與普通函數(shù)得區(qū)別
普通函數(shù):
1、函數(shù)作為全局函數(shù)被調(diào)用時(shí),this指向全局對(duì)象
2、函數(shù)作為對(duì)象中的方法被調(diào)用時(shí),this指向該對(duì)象
3、函數(shù)作為構(gòu)造函數(shù)的時(shí)候,this指向構(gòu)造函數(shù)new出來(lái)的新對(duì)象
箭頭函數(shù)
1、箭頭函數(shù)沒(méi)有this,函數(shù)內(nèi)部的this來(lái)自于父級(jí)最近的非箭頭函數(shù),并且不能改變this的指向
普通函數(shù)還可以通過(guò)bind改變this的指向
箭頭函數(shù)示例1.this指向
var a = "全局變量a"; var obj={ a:"局部變量a", fn1:function(){ console.log(this.a); }, fn2:()=>{ console.log(this.a); } } obj.fn1(); obj.fn2();
輸出結(jié)果為:
局部變量a 全局變量a
普通函數(shù)的this我們知道是指向最近的一個(gè)對(duì)象,而箭頭函數(shù)的this實(shí)際上是指向定義時(shí)的this,比如把上面代碼改為:
var obj={ a:"局部變量a", fn1:function(){ console.log(this.a); }, fn2:()=>{ console.log(this.a); } } obj.fn1(); obj.fn2();
輸出結(jié)果為:
局部變量a undefined
此時(shí)因?yàn)榧^函數(shù)是指向全局的,全局沒(méi)有變量a則輸出undefined,這里的fn1和fn2都是全局函數(shù),所以箭頭函數(shù)this指向的是定義時(shí)的全局,而普通函數(shù)的this指向的是最近的一個(gè)對(duì)象
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105777.html
摘要:第二種情況是箭頭函數(shù)的如果指向普通函數(shù)它的繼承于該普通函數(shù)。箭頭函數(shù)的指向全局,使用會(huì)報(bào)未聲明的錯(cuò)誤。 showImg(https://segmentfault.com/img/remote/1460000018610072?w=600&h=400); 箭頭函數(shù)是ES6的API,相信很多人都知道,因?yàn)槠湔Z(yǔ)法上相對(duì)于普通函數(shù)更簡(jiǎn)潔,深受大家的喜愛(ài)。就是這種我們?nèi)粘i_發(fā)中一直在使用的API...
摘要:但是因?yàn)榧^函數(shù)沒(méi)有自己的,它的其實(shí)是繼承了外層執(zhí)行環(huán)境中的,且指向永遠(yuǎn)不會(huì)隨在哪里調(diào)用被誰(shuí)調(diào)用而改變,所以箭頭函數(shù)不能作為構(gòu)造函數(shù)使用,或者說(shuō)構(gòu)造函數(shù)不能定義成箭頭函數(shù),否則用調(diào)用時(shí)會(huì)報(bào)錯(cuò)報(bào)錯(cuò)箭頭函數(shù)沒(méi)有自己的箭頭函數(shù)沒(méi)有自己的對(duì)象。 這篇文章我們來(lái)了解一下ES6中的箭頭函數(shù)。首先會(huì)介紹一下箭頭函數(shù)的基本語(yǔ)法,因?yàn)榛菊Z(yǔ)法比較好理解,我們用示例做簡(jiǎn)單介紹即可。之后,我們重點(diǎn)來(lái)討論一下...
摘要:將構(gòu)造函數(shù)的作用域賦值給新對(duì)象。也所以對(duì)象指向新對(duì)象執(zhí)行構(gòu)造函數(shù)內(nèi)部的代碼,將屬性添加給中的對(duì)象。通常的解決方案是判斷是否是構(gòu)造函數(shù)的實(shí)例,若是則繼續(xù)執(zhí)行,若不是則進(jìn)行的操作。代碼如下在構(gòu)造函數(shù)參數(shù)個(gè)數(shù)固定的情況下這種方案是可行的。 首先,一般的都是介紹自己,主要是項(xiàng)目經(jīng)歷 問(wèn)題1:jQuery與Vue的區(qū)別是什么? JQuery和Vue的主要區(qū)別是JQuery主要是通過(guò)選擇器來(lái)選取D...
摘要:上一章我們學(xué)習(xí)了遍歷和擴(kuò)展字符語(yǔ)法。本章我們主要學(xué)習(xí)中的箭頭函數(shù)箭頭函數(shù)更準(zhǔn)確來(lái)說(shuō)叫箭頭函數(shù)表達(dá)式。箭頭函數(shù)余普通函數(shù)功能相同,但語(yǔ)法差別比較大。 帶你入門 JavaScript ES6 (三) 本文同步帶你入門 JavaScript ES6 (三),轉(zhuǎn)載請(qǐng)注明出處。 上一章我們學(xué)習(xí)了 for of 遍歷和擴(kuò)展字符語(yǔ)法。本章我們主要學(xué)習(xí) ES6 中的箭頭函數(shù) 箭頭函數(shù) 更準(zhǔn)確來(lái)說(shuō)叫 箭...
閱讀 1461·2021-11-25 09:43
閱讀 2601·2021-09-24 10:30
閱讀 3671·2021-09-06 15:02
閱讀 3610·2019-08-30 15:55
閱讀 3310·2019-08-30 15:53
閱讀 1705·2019-08-30 15:52
閱讀 2151·2019-08-30 14:21
閱讀 2019·2019-08-30 13:55