javascript中通过arguments参数伪装方法重载
作者:bea
在很多面向对象的高级语言中,都有方法的重载。而javascript没有方法重载这个概念。但是我们可以通过arguments这个参数来伪装成函数的重载 在模拟之前我们先看一下代码: 代码如下: //表面上没有声明形式参数的函数 function fun() { alert("示例代码"); } fun("小明", 100, true);//自己写了三个实际参数 通过结果我们看到,即使我们声明函数的时候没有定义形式参数,在调用方法的时候,我们也是可以写实际参数
在很多面向对象的高级语言中,都有方法的重载。而javascript没有方法重载这个概念。但是我们可以通过arguments这个参数来伪装成函数的重载
在模拟之前我们先看一下代码:
代码如下:
//表面上没有声明形式参数的函数
function fun() {
alert("示例代码");
}
fun("小明", 100, true);//自己写了三个实际参数
通过结果我们看到,即使我们声明函数的时候没有定义形式参数,在调用方法的时候,我们也是可以写实际参数的。(实际上形式参数是写给程序员调用函数时看的)
我们可以在代码中可以得到实际参数吗?答案是肯定的:请看代码:
代码如下:
//表面上没有声明形式参数的函数
function fun() {
alert(arguments[0]);//得到第一个实际参数的值。
alert(arguments[1]);//得到第二个实际参数的值。
alert(arguments[2]);//得到第三个实际参数的值。
alert(arguments.length);//得到实际参数的个数。
alert("示例代码");
}
fun("小明", 100, true);//自己写了三个实际参数
通过代码我们就可以知道arguments(内部属性) 本身是一个数组,其作用就是存放方法的实际参数。
有了以上知识点后,模拟方法重载就有思路了。我们可以通过实际参数的个数来作个判断,从而执行不同的逻辑代码。简单代码如下:
代码如下:
function fun() {
if (arguments.length == 0) {
alert("执行没有实际参数的代码");
}
else if(arguments.length==1)
{
alert("执行传入一个实际参数的代码");
}
else if(arguments.length==2)
{
alert("执行传入两个实际参数的代码");
}
}
fun();
fun("小明");
fun("小明", "小花");
有用 | 无用
在模拟之前我们先看一下代码:
代码如下:
//表面上没有声明形式参数的函数
function fun() {
alert("示例代码");
}
fun("小明", 100, true);//自己写了三个实际参数
通过结果我们看到,即使我们声明函数的时候没有定义形式参数,在调用方法的时候,我们也是可以写实际参数的。(实际上形式参数是写给程序员调用函数时看的)
我们可以在代码中可以得到实际参数吗?答案是肯定的:请看代码:
代码如下:
//表面上没有声明形式参数的函数
function fun() {
alert(arguments[0]);//得到第一个实际参数的值。
alert(arguments[1]);//得到第二个实际参数的值。
alert(arguments[2]);//得到第三个实际参数的值。
alert(arguments.length);//得到实际参数的个数。
alert("示例代码");
}
fun("小明", 100, true);//自己写了三个实际参数
通过代码我们就可以知道arguments(内部属性) 本身是一个数组,其作用就是存放方法的实际参数。
有了以上知识点后,模拟方法重载就有思路了。我们可以通过实际参数的个数来作个判断,从而执行不同的逻辑代码。简单代码如下:
代码如下:
function fun() {
if (arguments.length == 0) {
alert("执行没有实际参数的代码");
}
else if(arguments.length==1)
{
alert("执行传入一个实际参数的代码");
}
else if(arguments.length==2)
{
alert("执行传入两个实际参数的代码");
}
}
fun();
fun("小明");
fun("小明", "小花");
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery获取iframe的document对象的方法
- jquery实现多行文字图片滚动效果示例代码
- 一个js过滤空格的小函数
- JS 新增Cookie 取cookie值 删除cookie 举例详解
- window.location 对象所包含的属性
- JavaScript参数个数可变的函数举例说明
- JavaScript设计模式之外观模式实例
- JavaScript中的无阻塞加载性能优化方案
- JavaScript设计模式之策略模式实例
- JavaScript运行机制之事件循环(Event Loop)详解
- Javascript 读取操作Sql中的Xml字段
- Javascript验证用户输入URL地址是否为空及格式是否正确
- 使用js Math.random()函数生成n到m间的随机数字
- 分享一款基于jQuery的视频播放插件
- 使用jQuery.wechat构建微信WEB应用
- 使用jQuery将多条数据插入模态框的实现代码
- get(0).tagName获得作用标签示例代码
- 一个css与js结合的下拉菜单支持主流浏览器
- Javascript获取当前日期的农历日期代码