javascript中call()、apply()的區(qū)別
call()、apply()的區(qū)別:
相同點(diǎn):
1.call()和apply()都可以用來(lái)間接調(diào)用函數(shù),都可以顯式調(diào)用所需的this。即,任何函數(shù)可以作為任何對(duì)象的方法來(lái)調(diào)用。
2.兩個(gè)方法都可以指定調(diào)用實(shí)參。
區(qū)別:
call()和apply()的基本區(qū)別:在于將參數(shù)傳遞給函數(shù)。
call():使用其自有的實(shí)參列表作為函數(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;
}
}
它們的用法可以通過(guò)給定的例子進(jìn)行說(shuō)明:
<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ū)別詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- JavaScript中的this/call/apply/bind的使用及區(qū)別
- js中apply和call的理解與使用方法
- javascript中call,apply,callee,caller用法實(shí)例分析
- JS中call()和apply()的功能及用法實(shí)例分析
- js的繼承方法小結(jié)(prototype、call、apply)(推薦)
- js中apply()和call()的區(qū)別與用法實(shí)例分析
- JavaScript函數(shù)apply()和call()用法與異同分析
- 詳解JS中的this、apply、call、bind(經(jīng)典面試題)
- Javascript call及apply應(yīng)用場(chǎng)景及實(shí)例
相關(guān)文章
使用Math.floor與Math.random取隨機(jī)整數(shù)的方法詳解
本篇文章對(duì)使用Math.floor與Math.random取隨機(jī)整數(shù)的方法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05
JavaScript學(xué)習(xí)筆記(一) js基本語(yǔ)法
JavaScript學(xué)習(xí)筆記(一) js基本語(yǔ)法,想要學(xué)習(xí)js的朋友可以參考下。2011-10-10
JavaScript中的操作符類(lèi)型轉(zhuǎn)換示例總結(jié)
最近發(fā)現(xiàn)在前端的面試題目中經(jīng)常出現(xiàn)操作符類(lèi)型轉(zhuǎn)換的題目,于是這里來(lái)進(jìn)行一個(gè)JavaScript中的操作符類(lèi)型轉(zhuǎn)換示例總結(jié),需要的朋友可以參考下2016-05-05

