Javascript 局部变量代替函数中的参数,更好地理解函数

Javascript 局部变量代替函数中的参数,更好地理解函数,javascript,function,Javascript,Function,在选择头衔时遇到了困难。我正在学习js并寻找提问的地方,大多数情况下这些问题都很简单。stackoverflow是一个很好的地方,还是你可以推荐另一个地方(irc或论坛) 开始使用js中的函数。这些行如下所示: function calculateTax(amount){ let result = amount * 0.08; return result; } let tax = calculateTax(100); console.log(tax); 我问自己为什么函数

在选择头衔时遇到了困难。我正在学习js并寻找提问的地方,大多数情况下这些问题都很简单。stackoverflow是一个很好的地方,还是你可以推荐另一个地方(irc或论坛)

开始使用js中的函数。这些行如下所示:

function calculateTax(amount){
  let result = amount * 0.08;
  return result;
  }
  let tax = calculateTax(100);
  console.log(tax);

我问自己为什么函数需要局部变量“result”,为什么不能使用参数:

function calculateTax(amount){
  amount * 0.08;
  return amount;
  }
  let tax = calculateTax(100);
  console.log(tax);

我的猜测是因为参数是一个占位符,或者是一个保护乘法和0.08的变量?我想我读到参数是变量,对吗?函数中的100也是一个参数吗

我想我在这些事情上浪费了很多时间。我的问题是,我太好奇了。
谢谢您的时间。

假设
金额
是一个数字,那么任何一种方法都有效。这就是说,在不需要的时候重新分配一个偏执狂通常被认为是有点代码味道——见

在原始代码中,
amount
result
都是局部变量。(是的,参数也是变量)

当然,除了声明新变量或重新分配
金额
之外,另一种方法是立即
返回
计算结果:

函数CalculateAX(金额){
退货金额*0.08;
}
让税=计算税(100);

控制台日志(税务)引入变量的原因是,在许多情况下,希望函数对参数执行的操作并不像示例中那样简单。例如,另一个函数可以获取该参数,将其包装在对象中,将其字符串化为JSON发送到REST服务,等待该服务器的响应,并对其进行一些计算,最后返回该参数


在你的例子中,我甚至主张省略额外的变量创建,因为函数所做的事情非常简单。

很高兴你在学习JavaScript。要获得更简洁的语法(以及更高的游戏级别),请使用ES6箭头函数表示法,如下所示

const calculateTax = (amount) => amount * 0.08;
console.log(calculateTax(100));

您可以使用
function calculateAX(amount){return amount*0.08;}
声明一个函数,假设它有一个名为
amount
的参数……如果
amount
始终引用该参数,而不是在函数的部分切换到其他参数,则可读性很好。在这种特殊情况下,正如人们所了解的,
result
作为一个新名称不会增加太多价值,更好的编写方法是直接
返回金额*0.08
。我不确定最好的措辞是什么,但“原语是不可变的,因此在函数中更改
amount
不会造成任何副作用”混合了两种不相关的“变化”。例如,像这样的语句导致了很多关于什么是按值传递引用的混淆。JavaScript中的所有内容都是按值传递的,只是非原语本身就是引用,所以引用是按值传递的。如果您熟悉C/C++指针处理,则该语句更有意义。