1.作用:
call、apply和bind是Function對象自帶的三個方法,都是為了改變函數(shù)體內(nèi)部 this 的指向,區(qū)別是call()和apply()在調(diào)用函數(shù)之后會立即執(zhí)行,而bind()方法調(diào)用并改變函數(shù)運行時上下文后,返回一個新的函數(shù),供我們需要時再調(diào)用。它們的第一個參數(shù),都是指定一個運行時的上下文,也就是this的指向。bind,和call,指定this指向的參數(shù)后,可以加入多個參數(shù),而apply則接受一個數(shù)組作為參數(shù)。
2.如何選用:
如果不需要關(guān)心具體有多少參數(shù)被傳入函數(shù),選用apply()。
如果確定函數(shù)可接收多少個參數(shù),并且想一目了然表達形參和實參的對應(yīng)關(guān)系,用call()。
如果我們想要將來再調(diào)用方法,不需立即得到函數(shù)返回結(jié)果,則使用bind()。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。