JavaScript的函数定义覆盖而不是满载

JavaScript的函数定义覆盖而不是重载

function aa(){

alert("fff");

}

 

function aa(dd){

alert(dd);

}

 

aa();

aa("dddddd");

 

执行时,先弹出undefined,再弹出dddddd

合理的解释,就是后面的函数定义覆盖了之前了定义,因JavaScript没有像java这样明确的函数重载的概念

覆盖后第一次调用aa()时没有传入参数,所以是undefined,然后第二次调用就正常了