文章詳情頁(yè)
javascript - js一個(gè)call和apply的問(wèn)題?
瀏覽:86日期:2023-02-14 17:03:55
問(wèn)題描述
Array.call(null,{length:3}//返回[{length:3}]Array.apply(null,{length:3})//返回[undefined, undefined, undefined]
call和apply都是改變this指向,到這里結(jié)果卻不一樣,詭異了
問(wèn)題解答
回答1:寫(xiě)這里,方便看。
call:第一個(gè)是直接傳對(duì)象進(jìn)去;
apply:第二個(gè)是當(dāng)成數(shù)組長(zhǎng)度為3的數(shù)組,但沒(méi)有值,所以u(píng)ndefined{length: 3} => {length: 3, 0: undefined, 1: undefined, 2: undefined }所以輸出3個(gè)undefined
call接受的是連續(xù)參數(shù),apply接受的是數(shù)組參數(shù)。A.call(this, a,b,c,d)A.apply(this, [a,b,c,d])
回答2:call()方法第二個(gè)參數(shù)是數(shù)組里面的一項(xiàng),
apply()方法第二個(gè)參數(shù)是一個(gè)數(shù)組
標(biāo)簽:
JavaScript
上一條:javascript - slideToggle實(shí)現(xiàn)折疊菜單效果,但是怎么實(shí)現(xiàn)單擊這個(gè)選項(xiàng)展開(kāi),其他選項(xiàng)自動(dòng)折疊呢?下一條:javascript - 關(guān)于動(dòng)態(tài)加載后再綁定事件,事件不起作用的提問(wèn)
相關(guān)文章:
1. mysql - 這條聯(lián)合sql語(yǔ)句哪里錯(cuò)了2. webpack - vuejs+java前后臺(tái)分離實(shí)現(xiàn)及部署問(wèn)題3. docker容器呢SSH為什么連不通呢?4. docker start -a dockername 老是卡住,什么情況?5. docker鏡像push報(bào)錯(cuò)6. python - 速度最快的啟動(dòng)界面GUI7. 網(wǎng)站在移動(dòng)的環(huán)境下手機(jī),pc打不開(kāi)8. python - pip install出現(xiàn)下面圖中的報(bào)錯(cuò) 什么原因?9. javascript - js 函數(shù)代碼,關(guān)于滾動(dòng)加載數(shù)據(jù)10. javascript - stylus格式的圖標(biāo)字體里url無(wú)法解析
排行榜

熱門(mén)標(biāo)簽