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

精通Javascript 之 函数重载

2012-09-06 11:24 337 查看
重载是面向对象中常用的功能。虽然JS不直接支持函数重载,但是可以通过很多方式来实现函数重载。JS的每个函数都带有一个仅在这个函数范围内作用的变量称为参数argument,它是一个包含所有传给函数的参数的维数组,它并非真正意义上的数组,它不能被修改,但可以访问其中的元素及属性。

通过下面这个例子来直观的了解一下:

<script type="text/javascript" language="javascript">
//发送一条消息的函数
function sendMessage(msg, obj) {
//如果传入参数是两个,使用obj发送消息
if (arguments.length == 2)
obj.handleMsg(msg);
//如果没有传入参数,显示错误消息
else if (arguments.length == 0)
alert("An error occured!");
//如果传入参数是msg,显示消息
else if (typeof (msg) == "string")
alert(msg);
//如果传入参数是obj,使用obj发送消息
else if(typeof(msg) == "object")
msg.handleMsg();
}

sendMessage("Hello, World!");

sendMessage();

sendMessage("How are you?", {
handleMsg: function (msg) {
alert("This is a custom message: " + msg);
}
});

sendMessage({
handleMsg: function () {
alert("This is a custom message");
}
});
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: