Все остальные ответы верны: нет никакой причины «переназначать» переданный аргумент внутри функции.
Единственное, о чем я могу подумать, когда вы будете возиться с переназначением аргументов, это если у вас есть необязательные аргументы / значения по умолчанию
function xyz(optionalArgument) {
optionalArgument = optionalArgument || "no argument given";
...
}
Но в этом случае было бы лучше написать это как
function xyz( /* optionalArgument */ ) {
var optionalArgument = arguments[0] || "no argument given";
...
}
Обратите внимание, что трюк ||
даст вам значение правой части, если левая часть является ложным значением. То есть если вы согласны с тем, что необязательный аргумент является ложным (например, явно передается null
, 0
и т. д.), вам придется сделать что-то вроде var arg = typeof arguments[x] === 'undefined' ? defaultValue : arguments[x];