我被这种奇怪的感觉难住了。
假设我有这个数组:
var array = [{
something: 'special'
}, 'and', 'a', 'bunch', 'of', 'parameters'];
我可以使用函数apply
的apply
方法来调用函数,其中的this
对象是{something: 'special'}
其余的,参数是其余的array
吗?
换句话说,我可以这样做吗
var tester = function() {
console.log('this,', this);
console.log('args,', arguments);
};
tester.apply.apply(tester, array);
并期望输出如下?
> this, {"something": "special"}
> args, {"0": "and", "1": "a", "2": "bunch", "3": "of", "4": "parameters"}
我尝试过这个。
TypeError: Function.prototype.apply: Arguments list has wrong type
但为什么?看来这应该可行。