写了一个简单的demo,直接可以看到结果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>函数没有重载,只有覆盖</title>
<script type="text/javascript">
function aa(){
alert("无参的方法");
}
//没有方法的重载,后面声明的函数会覆盖之前的函数
function aa(name){
alert("有参的方法\t"+name);
}
</script>
</head>
<body>
<input type="button" value="测试重载" name="aa" onclick="aa();"/>
</body>
</html>
对应的页面,只有一个按钮,首先测试没有参数的函数
测试无参的函数后出现的是,有参的方法
当把调用的函数改为含有参数的aa(name)时,发现输出的结果是这样的
可以看到两次函数(无论有没有参数)调用都没有输出“无参的方法”,所以js是不能实现方法的重载(要和java区分开)!