這篇文章主要講解了“js的apply方法的用法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“js的apply方法的用法”吧!
創(chuàng)新互聯(lián)建站是一家集成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站設(shè)計公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。JavaScript apply手寫實現(xiàn)
先來看看apply的調(diào)用及調(diào)用后的效果:
Test.apply(obj,[36,37]);//輸出如下:11"male"3637
下面開始實現(xiàn)我們自己的apply:
Function.prototype.myApply=function(obj,args){obj.fn=this;letres;if(args&&args.length){res=obj.fn(...args);}else{res=obj.fn();}deleteobj.fn;returnres;}
下面調(diào)用一下我們自己的myApply函數(shù)試試看效果:
Test.myApply(obj,[55,56]);//輸出如下:11"male"5556
可以看到,我們自己手寫的myApply函數(shù)同樣是達(dá)到了效果,原理同上就不在此贅述了。
JavaScript apply手寫實現(xiàn)代碼
Function.prototype.myApply=fucntion(context){
if(typeofthis!=='function'){
thrownewTypeError('notafunction!')
}
context=context||window
context.fn=this
letresult
if(arguments[1]){
result=context.fn(...arguments[1])
}else{
result=context.fn()
}
deletecontext.fn
returnresult
}
感謝各位的閱讀,以上就是“js的apply方法的用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對js的apply方法的用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!