3 回答
会飞的四脚蛇
TA贡献5条经验 获得超3个赞
js没有其他语言比如java函数重载的概念,js的函数名相同只会覆盖,后定义函数覆盖先定的函数,但是js可以模拟函数重载。
@星典 的例子,明显的函数覆盖,绝不是重载,永远只会执行最后定定义的f函数.
function f(length)
{
alert("高为:"+length);
}
function f(length,width)
{
alert("高为:"+length+",宽为:"+width);
}
f() //高为:undefined,宽为:undefined
f(99) // 高为:99,宽为:undefined
f(99,1000) // 高为:99,宽为:1000如上函数改为以下才是js模拟的重载
function f(length,width) {
var len =arguments.length;
if( len===0 ){
alert("请传入参数");
}
if( len ===1){
alert("高为:"+length);
}
if( len ===2){
alert("高为:"+length+",宽为:"+width);
}
}
f() // 请传入参数
f(99) // 高为:99
f(99,1000) //高为:99,宽为:1000
已采纳
田心枫
TA贡献1064条经验 获得超383个赞
function f(length)
{
alert("高为:"+length);
}
function f(length,width)
{
alert("高为:"+length+",宽为:"+width);
}方法重载不都这样吗
添加回答
举报
0/150
提交
取消
