如何使用相同的名称但类似的参数调用JavaScript函数

如何使用相同的名称但类似的参数调用JavaScript函数,javascript,overloading,Javascript,Overloading,我有两个类似的JavaScript函数,但其中一个函数有一个硬编码变量,而另一个函数的变量将在调用时定义。如果我说的没有道理,很抱歉,但以下是代码,您可以更轻松地理解: 函数计算循环引用() { var半径=3; var周长=数学PI*2*半径; console.log(“周长为”+周长); } 函数calculateArea() { var半径=3; var area=Math.PI*半径*半径; console.log(“区域为”+区域); } 函数计算循环差(半径) { var周长=数学

我有两个类似的JavaScript函数,但其中一个函数有一个硬编码变量,而另一个函数的变量将在调用时定义。如果我说的没有道理,很抱歉,但以下是代码,您可以更轻松地理解:

函数计算循环引用()
{
var半径=3;
var周长=数学PI*2*半径;
console.log(“周长为”+周长);
}
函数calculateArea()
{
var半径=3;
var area=Math.PI*半径*半径;
console.log(“区域为”+区域);
}
函数计算循环差(半径)
{
var周长=数学PI*2*半径;
console.log(“周长为”+周长);
}
函数计算器ea(半径)
{
var area=Math.PI*半径*半径;
console.log(“区域为”+区域);
}
CalculateCircumReference();
计算earea();
计算循环差(5);
a(9)使用默认值

function calculateArea(radius = 3)
{
    var area = Math.PI * radius*radius;
    console.log("The area is " + area);
}

在没有参数的情况下调用
calculateArea()
将默认使用3作为半径

您最初的问题描述,但是JavaScript不支持它(没有hacks)。相反,解决问题的是默认参数,这是可能的

由于ES6可以在函数声明中直接设置默认参数:

函数计算循环差(半径=3){
var周长=数学PI*2*半径;
console.log(“周长为”+周长);
}
CalculateCircumReference();

计算循环差(5)重新使用函数名时,原始函数将消失。在任何给定范围内,一个名称只能用于一个目的。另请参见:不可能。。。。。。。。JavaScript中没有函数重载。。。。只要有一个方法,当你重新定义它时,它就会替换另一个。