亚洲精品92内射,午夜福利院在线观看免费 ,亚洲av中文无码乱人伦在线视色,亚洲国产欧美国产综合在线,亚洲国产精品综合久久2007

?
Java知識分享網(wǎng) - 輕松學習從此開始!????

Java知識分享網(wǎng)

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus權(quán)限系統(tǒng)實戰(zhàn)課程 震撼發(fā)布        

最新Java全棧就業(yè)實戰(zhàn)課程(免費)

AI人工智能學習大禮包

IDEA永久激活

66套java實戰(zhàn)課程無套路領取

鋒哥開始收Java學員啦!

Python學習路線圖

鋒哥開始收Java學員啦!

2024前端開發(fā)面試題 PDF 下載


分享到:
時間:2024-08-10 10:05來源:http://sh6999.cn 作者:轉(zhuǎn)載  侵權(quán)舉報
2024前端開發(fā)面試題
失效鏈接處理
2024前端開發(fā)面試題 PDF 下載
 
 
 
相關截圖:

 
主要內(nèi)容:
 
1 callapply、bind的區(qū)別
相同點:
  作用相同,都是動態(tài)修改this指向;都不會修改原先函數(shù)的this指向。
異同點:
1. 執(zhí)行方式不同:
callapply是改變后頁面加載之后就立即執(zhí)行,是同步代碼。
bind異步代碼,改變后不會立即執(zhí)行;而是返回一個新的函數(shù)。
2. 傳參方式不同:
callbind傳參是一個一個逐一傳入。
apply可以使用數(shù)組的方式傳入的 。
call apply不能使用剩余參數(shù)的方式傳參,bind 可以使用剩余參數(shù)的方式傳入(柯里化)。
3. 修改this的性質(zhì)不同:
call、apply只是臨時的修改一次,也就是callapply方法的那一次;當再次調(diào)用原函數(shù)的時候,它的指
向還是原來的指向。
 
手寫 call 函數(shù)
call 函數(shù)的實現(xiàn)步驟:
判斷調(diào)用對象是否為函數(shù),即使我們是定義在函數(shù)的原型上的,但是可能出現(xiàn)使用 call 等方式調(diào)用的情況。
判斷傳入上下文對象是否存在,如果不存在,則設置為 window 
處理傳入的參數(shù),截取第一個參數(shù)后的所有參數(shù)。
將函數(shù)作為上下文對象的一個屬性。
使用上下文對象來調(diào)用這個方法,并保存返回結(jié)果。
刪除剛才新增的屬性。
返回結(jié)果。
 
手寫 apply 函數(shù)
我們已經(jīng)了解了 call的實現(xiàn)原理,call() 方法接受的是參數(shù)列表,而 apply() 方法接受的是一個參數(shù)數(shù)
組。所以在 call 實現(xiàn)的基礎上我們很容易寫出 apply
apply 函數(shù)的實現(xiàn)步驟:
判斷調(diào)用對象是否為函數(shù),即使我們是定義在函數(shù)的原型上的,但是可能出現(xiàn)使用 call 等方式調(diào)用的情況。
判斷傳入上下文對象是否存在,如果不存在,則設置為 window 。
將函數(shù)作為上下文對象的一個屬性。
判斷參數(shù)值是否傳入
使用上下文對象來調(diào)用這個方法,并保存返回結(jié)果。
刪除剛才新增的屬性
返回結(jié)果
 


 

------分隔線----------------------------
?
鋒哥公眾號


鋒哥微信


關注公眾號
【Java資料站】
回復 666
獲取 
66套java
從菜雞到大神
項目實戰(zhàn)課程

鋒哥推薦