凡是这样签名的方法:object.method(arg1, arg2, ...)的方法,都可以采用method.apply(object, [arg1, arg2, ...])进行调研。
array的某些方法(不会修改array状态)可以使用arguments以Array.prototype.method.apply(arguments,[arg1, arg2, ...])的方式调用。
这和鸭子类型有关系: