是否有理由将参数转换为局部变量

Is there a reason to convert arguments to a local variable?

本文关键字:局部变量 转换 参数 有理由 是否      更新时间:2023-09-26

我不应该做有什么原因吗

function bla(args){
  use(args);
}

然后这样做:?

function bla(args){
  var loacalArgs = args;
  use(loacalArgs);
}

有没有一个地方比另一个更受欢迎?

没有理由这么做,因为args已经是一个局部变量了。
function bla(args) {
   var localArgs = args;   //<-- This variable is as local as the other one
}

通过另一个名称引用同一变量的唯一原因是当您想要复制引用/值并修改其中一个时,例如:

function validate(word) {
    var originalWord = word;
    word = word.toLowerCase();
    if (word === originalWord) return 'At least one uppercase char is required!';
    // ... do something with both variables

您的意思是应该将参数复制到另一个变量中吗?

这是不必要的,因为args本身是一个局部变量

我想到的一个原因是,当我想修改参数同时还想保留原始副本时。否则,我认为我没有理由再写一行代码。

没有必要将args复制到另一个变量loacalArgs,除非您正在对原始变量args进行一些修改。