当前位置: 首页 > 工具软件 > Overhang.js > 使用案例 >

JS 函数(二): overload

景品
2023-12-01
<!DOCTYPE html>
<html>
  <head>
    <title>01_define.html</title>

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    <script type="text/javascript">
        function sum(num1,num2){
            console.log(num1+num2);
        }


        /**
        *此时sum所指向的空间已经从两个参数的函数变到一个参数的函数,两个参数的函数就没有对象指向它了,
        在调用的时候就只会调用一个参数的函数,
        特别注意:函数的参数和调用没有关系,如果函数只有一个参数,但是却传入了两个参数,仅仅只会匹配一个参数
        所以在js中不存在函数的重载,只存在覆盖 ,后面定义的会覆盖前面定义的
        */
        function sum(num1){
            console.log(num1+10);
        }

        sum(15);  //25

        sum(20,30);  //30

        //函数有如下定义方式(因为函数就是对象)
        /**
        如下的定义方式就相当于
        function fn(num1,num2){
            console.log(num1+num2);
        }

        所以通过下面的例子就说明了,函数就是一个对象 ,(函数的名称可以变,因为它是一个对象,所以我们可以返回一个函数,可以将函数作为一个参数传入)
        */
        var fn = new Function('sum1','sum2','console.log(sum1+sum2)');
        fn(12,14);

    </script>
  </head>

  <body>
    This is my HTML page. <br>
  </body>
</html>
 类似资料: