大廠面試指北?一般在js中this的指向為:誰掉用當前this所在的函數,this就指向誰但有的時候我們想改變this的指向,這時候就可以用到call和apply,今天小編就來說說關于大廠面試指北?下面更多詳細答案一起來看看吧!
一般在js中this的指向為:誰掉用當前this所在的函數,this就指向誰。但有的時候我們想改變this的指向,這時候就可以用到call和apply
什麼時候使用call apply給一個場景
宿舍中,小A有每天洗頭的習慣,每次洗完之後,頭發濕漉漉的不方便,于是就攢錢買了一個吹風機,洗完之後吹一吹,神清氣爽。小B洗頭沒有小A頻繁,偶爾洗一次,洗完之後也是濕漉漉的不方便,但是又因為自己洗的次數少,所以不想再單獨買一個吹風機,于是每次就借用小A的吹風機。
那麼此時,我們如果把小A和小B都理解成一個對象,吹風機就是小A方法,它的所有人就是小A,小A在使用吹風機的時候,小A就是吹風就的執行上下文(this)。小B偶爾會需要用到吹風機,因為使用頻次少,沒必要重新買一個造成資源浪費,所以每次都是借用小A的,那麼小B在使用吹風機的時候,吹風機被小B調用,此時小B就是吹風機的執行上下文(this)。此時吹風機的執行上下文(this)就被修改了。
again
在代碼中,當一個對象A具有一個方法fn,另一個對象B沒有方法,但是需要用到同樣功能的fn方法時,可以通過改變A對象中函數fn的執行上下文(this)來實現調用,達到節約代碼空間,不産生冗餘函數的目的
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!