什么是重载?
在C#和JAVA等编程语言中函数重载是指在一个类中可以定义多个方法名相同但是方法参数和顺序不同的方法,以此来实现不同的功能和操作,这就是重载。
JS没有重载,只能模拟重载
一般来说,如果在JS中定义了两个相同名称的函数/方法,那么前一个函数等于定义无效,后一个函数才是有效的定义。即使参数不同也算是无效,因为判断依据只有函数名!这里有别于C#和JAVA语言之类的方法重载,只能算是重写。
模拟重载
<script type="text/javascript">
function showSum()
{
//使用arguments对象模拟出重载效果
if (arguments.length == 1)
{
alert(arguments[0] + 1);
}
else if (arguments.length == 2)
{
alert(arguments[0] + arguments[1]);
}
else if (arguments.length == 3)
{
alert(arguments[0] + arguments[1] + arguments[2]);
}
else {
alert('请传入参数!');
}
}
//显示101
showSum(100);
//显示200
showSum(100, 100);
//显示300
showSum(100, 100,100);
</script>