JavaScript 允许重复声明变量,后声明的覆盖之前的
var a =1;
var a ='x';
console.log(a);
// 输出 'x'
JavaScript 允许重复定义函数
JavaScript 没有重载这个概念,它仅依据函数名来区分函数。
后定义的同名函数覆盖之前的,与参数无关。
function test(){
console.log("test");
}
test(); //输出 "test arg0 + undefined"
function test(arg1){
console.log("test arg"+ arguments.length +" + "+ arg1);
}
test(1,2); //输出 "test arg2 + 1"
实参个数如果比形参少,那么剩下的默认赋值为 undefined,如果实参传的比形参数量多,那么是全部都会被传进去的,只不过没有对应的形参可以引用(但可以用 arguments 来获取剩下的参数)。
function test(arg1){
for(var i=0; i<arguments.length; i++){
console.log(arguments[i]);
}
}
test(1,2);//输出 1 2