两个具有相同名称的 Javascript 函数始终调用相同的参数化函数

Hai*_*der 3 javascript c#

我有两个具有相同名称但不同函数定义的 JavaScript 函数(一个是无参数的,另一个是有两个参数的)。当我尝试从代码隐藏调用无参数函数时,它总是调用参数化函数。但是当我删除参数化函数时,就会调用没有参数的函数。我想知道为什么会发生这种情况:

例如;

<script>
function A()
{
  alert(1);
}
function A(param1 , param2)
{
  alert(2);
}
</script>
Run Code Online (Sandbox Code Playgroud)

从代码隐藏:

Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "A()", true);
Run Code Online (Sandbox Code Playgroud)

结果:aler(2);

Sam*_*nen 5

JavaScript 不支持两个具有相同名称和不同参数的函数。因为一切都是对象,所以只有名称才重要。参数只是函数的元数据。

您必须为这些函数指定不同的名称才能使其正常工作。