Javascript 参数小于声明参数的函数调用

Javascript 参数小于声明参数的函数调用,javascript,Javascript,为什么下面的代码以调用的参数最多的函数结束-函数foo(a、b、c) 函数重载在Javascript中不是一件事。函数名只能定义一次。实际上,您没有三个不同版本的foo,您只有一个版本:声明的最后一个版本。函数重载在Javascript中不是一件事。函数名只能定义一次。实际上,您没有三个不同版本的foo,您只有一个版本:最后一个已声明。更改声明函数的顺序,看看会发生什么-或者阅读下面的答案,我猜如果您有函数foo(){}非常简单:创建变量foo,并将一个函数对象指定为值。使用相同名称的多个声明不

为什么下面的代码以调用的参数最多的函数结束-函数foo(a、b、c)


函数重载在Javascript中不是一件事。函数名只能定义一次。实际上,您没有三个不同版本的
foo
,您只有一个版本:声明的最后一个版本。

函数重载在Javascript中不是一件事。函数名只能定义一次。实际上,您没有三个不同版本的
foo
,您只有一个版本:最后一个已声明。

更改声明函数的顺序,看看会发生什么-或者阅读下面的答案,我猜如果您有
函数foo(){}
非常简单:创建变量
foo
,并将一个函数对象指定为值。使用相同名称的多个声明不是无效的,但是一个变量只能有一个值。变量将被分配由上一次声明创建的函数对象。重复的?更改声明函数的顺序,看看会发生什么-或者只是阅读下面的答案我猜如果你有
function foo(){}
非常简单:创建变量
foo
,并将一个函数对象指定为值。使用相同名称的多个声明不是无效的,但是一个变量只能有一个值。变量将被分配由上次声明创建的函数对象。是否重复?
function foo (a) {
 console.log("single parameter function")
};
function foo (a, b) {
 console.log("two parameter function");
}
function foo (a, b, c) {
 console.log("three parameter function");
}
foo("hello", "goodbye");