js中call和apply區(qū)別 js中callback.call()和callback()的區(qū)別?
js中callback.call()和callback()的區(qū)別?回調(diào)是一個(gè)回調(diào)函數(shù)。函數(shù)有call和apply方法。執(zhí)行函數(shù)時(shí)可以使用動(dòng)態(tài)綁定上下文。因?yàn)槟阍谶@里回?fù)?call()未傳入任何參數(shù)。因
js中callback.call()和callback()的區(qū)別?
回調(diào)是一個(gè)回調(diào)函數(shù)。函數(shù)有call和apply方法。執(zhí)行函數(shù)時(shí)可以使用動(dòng)態(tài)綁定上下文。因?yàn)槟阍谶@里回?fù)?call()未傳入任何參數(shù)。因此回?fù)?call()相當(dāng)于回調(diào)()。沒(méi)有區(qū)別。函數(shù)的上下文主要影響該對(duì)象在函數(shù)中的位置。通常,根據(jù)運(yùn)行上下文自動(dòng)指定此對(duì)象。但是,可以使用call方法或apply方法手動(dòng)設(shè)置上下文。這意味著你可以在函數(shù)中隨意調(diào)整這個(gè)對(duì)象的方向。
js使用call的調(diào)用和直接調(diào)用函數(shù)的區(qū)別?
如果函數(shù)中有此項(xiàng),它將指向第頁(yè)。如果直接調(diào)用,函數(shù)中的這個(gè)將指向window對(duì)象。在陣列模式下輸入?yún)?shù)與按順序輸入?yún)?shù)之間也存在差異。其他的完全一樣。我能想到的另一個(gè)區(qū)別是便于調(diào)試。在chrome調(diào)試器出現(xiàn)之前,很多調(diào)試都是通過(guò)alert進(jìn)行的。如果一個(gè)函數(shù)被多個(gè)節(jié)點(diǎn)調(diào)用,比如事件的順序傳輸,那么警報(bào)和控制臺(tái)都無(wú)法知道函數(shù)中的確切調(diào)用方。使用call和apply,您可以通過(guò)它了解調(diào)用者。當(dāng)然,現(xiàn)在可以一步一步地調(diào)試斷點(diǎn)了,這個(gè)函數(shù)已經(jīng)不重要了。
js睡眠排序?
代碼示例:
var arr=[4,2,7,5,6,0,8
]var sleepsort=function(arr,callback){
let res=[
]阿弗雷赫(item=>{
設(shè)置超時(shí)(()=>{?。┗謴?fù)推力(項(xiàng)目)
//執(zhí)行后,如果(資源長(zhǎng)度===arr.length)回調(diào)(res)
},item)
})
}
睡眠排序(arr,res=>{控制臺(tái).log(研究)})