function fn(a,b)
{
console.log(a+b);
}
fn(4,6,9); //10
求大神指点下过程!
忽略第三个参数了而已。。
函数得到的参数都是存在数组arguments里头的,这里的a,b直接引用的是其下标0和1处的值,传的第三个c没用到,可以通过this.arguments[2]使用。
传了3个数字,但是你的函数只用了两个数字。数组解构
js中函数没有重载哦。所以参数个数不妨碍他调用。
那么为什么没有重载呢?因为在js中函数其实也是对象。
我们用函数名去调用,而这个函数名其实也就是一个引用类型的变量,指向了一个函数。
那当然同一个变量是不可能指向两个函数体的。
而函数声明时候的参数个数,不过是对参数多取了一个别名。传入的参数会被保存在arguments这个类数组里面。
所以你的函数也可以写成:
function fn()
{
console.log(arguments[0]+arguments[1]);
}
fn(4,6,9); //10