你们真的可以有不同的参数名称但有相同的函数吗

  • 本文关键字:函数 参数 真的 javascript
  • 更新时间 :
  • 英文 :


(抱歉我英语不好!!(

这很难解释,因为英语不是我的主要语言,但我刚刚写了这个代码:

function calculateAge(yearBorn){
return 2020 - yearBorn;
}
var johnAge = calculateAge(1990);
var janeAge = calculateAge(2000);
var stevenAge = calculateAge(1998);
console.log(johnAge, janeAge, stevenAge);
function yearsUntilRetirement(currentAge, name){
var age = calculateAge(currentAge);
var retirementYear = 65 - age;
console.log(name + ' retires in ' + retirementYear + ' years ');
}
yearsUntilRetirement(2000, "Alex");

这绝对有效,我想知道为什么!

我有一个返回年龄(function calculateAge(yearBorn)(的函数,我正在另一个函数yearsUntilRetirement中使用该函数

在第一个函数中,只有一个参数,它是yearBorn,而在另一方面,即使我使用相同的函数,但使用不同的参数名称calculateAge(currentAge)而不是calculateAge(yearBorn)。这也有效!

怎么回事?

即使函数相同,我也可以有不同的参数名称吗?

你可以把参数想象成盒子,最后它只填充了一些值。如果传递1,或者在一个名为numberOne的变量中有1,那么当函数运行时,它会得到同样的结果。

例如,我们可以有一个名为sum:的函数

function sum(a, b) {
return a + b;
}

以下是一些命名方法:

// Directly using integers
sum(1, 2);
// Using variables;
var firstNumber = 1;
var secondNumber = 2;
sum(firstNumber, secondNumber);

在这两种情况下,当运行函数sum时,参数ab分别获得值12。在函数中为参数命名并不重要,也不会影响传递的值。

需要记住的一件事是,参数的顺序才是最重要的。如果您将sum称为sum(secondNumber, firstNumber),则值将翻转,您可能不希望发生这种情况。因此,在调用函数时,请记住顺序。

当你创建一个函数时,你会给它一个参数列表:

function myFunction(parameter1){

}

当你调用一个函数时,你可以在调用中放置任何值:

myFunction(somevalue)

现在神奇的是:某个值将成为函数中的parameter1。就是这么回事

您的问题的答案是"是";您可以每次调用一个函数,其中不同的参数值是不同的变量名。

function dosomething( parameter) {
... do something
}
age = 40 ; dosomething(age);
born = 1200 ; dosomething(born);

在下面的代码中

function calculateAge(yearBorn){
return 2020 - yearBorn;
}

名称yearBorn只是一个占位符。它对函数之外的任何代码都没有永久性或影响。程序中没有任何其他内容关心函数内部对该变量的调用。他们所关心的只是函数取一个参数。无论你在调用函数时传递什么值,都会得到"0";绑定";到该参数及其变量名,使其在函数内部成为yearBorn

最新更新