call()、apply()的區(qū)別:
相同點:
1.call()和apply()都可以用來間接調(diào)用函數(shù),都可以顯式調(diào)用所需的this。即,任何函數(shù)可以作為任何對象的方法來調(diào)用。
2.兩個方法都可以指定調(diào)用實參。
區(qū)別:
call()和apply()的基本區(qū)別:在于將參數(shù)傳遞給函數(shù)。
call():使用其自有的實參列表作為函數(shù)的參數(shù);
apply():要求以數(shù)組的形式傳入?yún)?shù)。
function track(o,m){ var original =o[m]; o[m] =function( ){ console.log(new Date(),m); var results =original.apply(this,arguments); console.log(new Date(),m); return results; } }
它們的用法可以通過給定的例子進行說明:
<script> var someObject = { myProperty:'Foo', myMethod:function (prefix,posfix) { console.log(prefix + this.myProperty + posfix); } }; someObject.myMethod('<','>');//Foo var someOtherObject = { myProperty:'Bar' }; someObject.myMethod.call(someOtherObject,'<','>');//Bar someObject.myMethod.apply(someOtherObject,['<','>']);//Bar </script>
以上所述是小編給大家介紹的javascript中call()、apply()的區(qū)別詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com