這篇文章主要講解了“javascript中call函數(shù)有什么作用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“javascript中call函數(shù)有什么作用”吧!
創(chuàng)新互聯(lián)建站是一家專(zhuān)業(yè)提供泉山企業(yè)網(wǎng)站建設(shè),專(zhuān)注與做網(wǎng)站、成都做網(wǎng)站、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為泉山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
原理分析
1、給CONTEXT設(shè)置一個(gè)屬性,屬性值一定是要執(zhí)行的函數(shù)。
2、基于CONTEXT.XXX()成員訪問(wèn)執(zhí)行方法,就可以把函數(shù)執(zhí)行,并且改變里面的THIS。都處理完后,把給CONTEXT設(shè)置的這個(gè)屬性刪除掉。
實(shí)例
Function.prototype.call = function(context,...params){ let key = Symbol('key'),//設(shè)置唯一值 result; !/^(object|function)$/.test(typeof context) ? context = Object(context) :null; context !=null ? null : context = window;//如果context為null或者undefined,直接賦值為window context[key] = this; result = context[key](...params);//返回值 delete context[key]; return result; }
感謝各位的閱讀,以上就是“javascript中call函數(shù)有什么作用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)javascript中call函數(shù)有什么作用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!