在JavaScript中当对象借用方法时可以用call或apply,
apply最多有2个参数,第一个参数是借用对象,第二个参数是数组类型。
call第一个参数为借用对象,后面的参数个数不限,都作为参数传递给被借用方法。
举例说明,如何获取第0个到第2个参数值?程序代码如下所示:
call方法:
function fn() { var aArgu = Array.prototype.slice.call(arguments, 0, 3); alert(aArgu); } fn('a', 'b', 'c', 'd', 'e');
apply方法:
function fn() { var aArgu = Array.prototype.slice.apply(arguments, [0, 3]); alert(aArgu); } fn('a', 'b', 'c', 'd', 'e');
注意:内置对象arguments不是数组类型,是类数组,类数组转换为数组常用call和apply。