时间:2021-05-26
在很多面向对象的高级语言中,都有方法的重载。而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("小明", "小花");
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
js中如何实现方法重载?这涉及到三个问题1.同名函数的调用问题2.函数中特殊的参数arguments3.如何利用arguments实现方法重载1、同名函数的调用
在JavaScript的方法内,有个叫做arguments的变量数组,它是只读的,所有实际传入的参数变量都放在了里面,通过它,我们可以对传入的参数进行类型检查,
在上篇文章中我们讨论了javascript中的默认参数,这篇文章,我们来讨论下javascript的arguments参数对象。如下例的一个函数,我们如何根据传
JavaScript的重载函数,一般是靠对arguments判断来操作的。比如:复制代码代码如下:varafunc=function(){args=argume
在JavaScript中,函数function就是对象。JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念。 例子:复制代码代码如下