call() 和 apply() 的作用和區別
阿新 • • 發佈:2017-09-21
www logs 兩個 作用 cti .com java 個數 str
call, apply都屬於Function.prototype的一個方法,它是JavaScript引擎內在實現的,因為屬於Function.prototype,所以每個Function對象實例,也就是每個方法都有call, apply屬性.既然作為方法的屬性,那它們的使用就當然是針對方法的了.這兩個方法是容易混淆的,因為它們的作用一樣,只是使用方式不同.
相同點:他們的作用都是相同的
不同點:他們的參數不同
call(this,arg1,arg2,arg3);
apply(this,arguments);
apply與call產生的作用是一樣的
call, apply作用就是借用別人的方法來調用,就像調用自己的一樣.
function add(a,b){ alert(a+b); } function sub(a,b){ alert(a-b); } add.call(sub,3,1); add.apply(sub,[3,1]);
他們的不同就在call的參數分別寫出來apply的參數是一個數組
call() 和 apply() 的作用和區別