据我所知,这两个函数的行为方式相同:
我看到SO上提到这两种方法,但仍不真正理解为什么要使用其中一种。这是出于个人偏好,还是有更实际的原因在起作用?也许我漏掉了一个显而易见的区别?
function returnArgs() { return Array.prototype.slice.call(arguments) };
function returnArgs2() { return Array.apply(null, arguments) };
我看到SO上提到这两种方法,但仍不真正理解为什么要使用其中一种。这是出于个人偏好,还是有更实际的原因在起作用?也许我漏掉了一个显而易见的区别?
returnArgs2()
函数吗?{return arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments) };
- David Chase