Javascript中call函数和apply函数的使用
Javascript 中call函數(shù)和apply的使用:
Javascript中的call函數(shù)和apply函數(shù)是對執(zhí)行上下文進行切換,是將一個函數(shù)從當前執(zhí)行的上下文切換到另一個對象中執(zhí)行,例如:
sourceObj.method.call(destObj,params1,params2) 是將sourceObj中的method函數(shù)放在destObj中執(zhí)行
call函數(shù)還有另外一種重要的作用,在Javascript面向?qū)ο缶幊讨袑崿F(xiàn)多繼承的作用,例如:
function parentClass(){this.showText(text){alert(text);} };function inherentClass(){parentClass.call(this); };var instance=new inherentClass(); instance.showText('inherent caller'); View Code當然也可以通過這種方式實現(xiàn)多繼承的作用,只需要使用在子類中用每個父類調(diào)用call方法。
同樣apply和call函數(shù)的作用大致相同,只是傳入的參數(shù)不同,apply函數(shù)和call函數(shù)的參數(shù)列表中第一個參數(shù)是相同的, 在call函數(shù)中第二個參數(shù)可以是任意的參數(shù),而apply函數(shù)的第二個參數(shù)必須是數(shù)組,且apply函數(shù)只能有2個參數(shù)。
如下簡單demo一下如何使用apply函數(shù):
function sourceObj(firstPrams,secondParams){alert(firsParams+secondParams); } function destObj(firstParams,seconParams){alert(firstParams*secondParams); }sourceObj.apply(destObj,[6,2]); //result=12 View Code?
轉(zhuǎn)載于:https://www.cnblogs.com/chengbing2011/p/4115518.html
總結
以上是生活随笔為你收集整理的Javascript中call函数和apply函数的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据批量插入小练习_SqlServer
- 下一篇: 内存不足 java.lang.OutOf