您的位置:首页 > Web前端 > JavaScript

js模拟实现重载以及默认参数

2017-10-01 22:45 183 查看
    众所周知,js是函数不支持重载和默认参数的,但是我们可以使用一些其他方法来模拟这个方法的实现。

    首先看一下重载的定义:函数名相同,函数的参数列表不同(包括参数个数和参数类型),至于返回类型可同可不同。

    以及默认参数的定义:默认参数指的是当函数调用中省略了实参时自动使用的一个值。

    那么如何实现这两个功能呢,一个很简单的方法就是使用arguments来进行模拟。

    下面先说实现重载的方法:

    

function overLoad(){//用这样的方法模拟重载
if(arguments[0]){//如果存在第一个参数
if(arguments[1]){//如果第一个参数第二个参数都存在
//to do...
alert(arguments[0]+arguments[1]);
}
else{//如果只有第一个参数
alert(arguments[0]);
//to do...
}
}
else{//如果无参
alert("null");
//to do...
}
}

    接下来是实现默认参数的方法:

function defaultArg(){//用这样的方法模拟默认参数
var a = arguments[0]?arguments[0]:"hello";//第一个参数的默认值为hello
var b = arguments[1]?arguments[1]:"world";//第二个参数的默认值为world
//...
alert(a+b);
}

    下面进行一下测试:
//重载测试
overLoad();//null
overLoad("hello ");//hello
overLoad("hello ","world");//hello world
//默认参数测试
defaultArg();//hello world
defaultArg("你好 ");//你好 world
defaultArg("你好 ","世界");//你好 世界
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: