javascript中call()、apply()的區(qū)別
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)站的支持!
- JavaScript中的this/call/apply/bind的使用及區(qū)別
- js中apply和call的理解與使用方法
- javascript中call,apply,callee,caller用法實例分析
- JS中call()和apply()的功能及用法實例分析
- js的繼承方法小結(jié)(prototype、call、apply)(推薦)
- js中apply()和call()的區(qū)別與用法實例分析
- JavaScript函數(shù)apply()和call()用法與異同分析
- 詳解JS中的this、apply、call、bind(經(jīng)典面試題)
- Javascript call及apply應(yīng)用場景及實例
相關(guān)文章
使用Math.floor與Math.random取隨機整數(shù)的方法詳解
本篇文章對使用Math.floor與Math.random取隨機整數(shù)的方法進行了詳細的分析介紹。需要的朋友參考下2013-05-05
JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié)
最近發(fā)現(xiàn)在前端的面試題目中經(jīng)常出現(xiàn)操作符類型轉(zhuǎn)換的題目,于是這里來進行一個JavaScript中的操作符類型轉(zhuǎn)換示例總結(jié),需要的朋友可以參考下2016-05-05

