首页 > JS应用 > JS教程(9):javascript模仿函数的重载

JS教程(9):javascript模仿函数的重载

作者: 分类:JS应用 点击: 2,889 次

    所谓函数的重载,就是定义多个名称相同的函数,它们的参数个数(或类型)不一样。就叫重载。在一些强大的后端编程语言中,就有函数的重载,如:C++、java等。而JS语言和php语言一样,是没有函数的重载的。所以,要想实现如C++那样的函数重载功能,JS只能靠模仿来实现。

    JS可以通过argument对象来模仿函数的重载。 如:

    function gao(){
    console.log("姓名:"+arguments[0]+";年龄:"+arguments[1]);
    }
    gao();
    gao('高高');
    gao('gaogao',25);

    上面的代码没有模仿重载。执行结果如下图:

    JS教程(9):javascript模仿函数的重载

    没有添加实参的调用会返回 undefined ,如上图,不美观。

    函数没有形参,调用时有实参,可通过arguments来接收实参。

    如果想不返回undefined ,可以模仿重载。如:

    function gao(){
    var num = arguments.length; //通过点运算符来访问对象属性。
    switch(num){
    case 0:
    console.log("文本信息"); break;
    case 1:
    console.log("姓名:"+arguments[0]);
    break;
    case 2:
    console.log("姓名:"+arguments[0]+";年龄:"+arguments[1]);
    break;
    }
    }
    gao();
    gao('高高');
    gao('gaogao',25);

    执行结果如下图:

    JS教程(9):javascript模仿函数的重载



文章作者:ssmay
本文地址:http://wanlimm.com/77201808316737.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

上一篇:
下一篇:

或许你会感兴趣的文章:

2条回应:“JS教程(9):javascript模仿函数的重载”

  1. avatar lihongwei1993说道:

    重新学习一下函数的重载,个人感觉很有必要。

  2. avatar kongxincai3说道:

    这里可以理解为获取参数个数,并相应处理。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.