美文网首页
javascript函数的参数和return语句

javascript函数的参数和return语句

作者: ssttIsme | 来源:发表于2019-12-01 19:35 被阅读0次

    javascript函数的参数和return语句

    一、参数(最多是25个)

    可以动态地改变函数体内对应的值的类型或值,使同一函数体得到不同的结果。
    形参在定义函数的时候,函数括号中定义的变量叫做形参。
    实参使用函数的时候,在括号中传入的变量叫做实参。

        function tower() {
            for(var i=1;i<=5;i++){
                for(var j=1;j<=5-i;j++){
                    document.write("&nbsp;");
                }
                for(var j=1;j<=i*2-1;j++){
                    document.write("*");
                }
                document.write("<br/>");
            }
        }
        tower();
    

    输出

        *
       ***
      *****
     *******
    *********
    

    改造为

        function tower(num) { //num为形参
            for(var i=1;i<=num;i++){
                for(var j=1;j<=num-i;j++){
                    document.write("&nbsp;");
                }
                for(var j=1;j<=i*2-1;j++){
                    document.write("*");
                }
                document.write("<br/>");
            }
        }
        tower(2); //2为实参
    

    输出

     *
    ***
    

    1.参数的类型

    可以是任何的数据类型

        function fun(a) {
            document.write(a);
        }
        fun("fish");
        fun(true);
        obj={};
        fun(obj);
    

    输出 fishtrue[object Object]

    2.参数的个数(最多是25个)

    A.实参和形参数量相等,一一对应
    B.形参的数量多于实参

    不会报错,但是多出的参数的值会被赋值为undefined

        function fun(a,b) {
            document.write(a);
            document.write(b);
        }
        fun(1);
    

    输出 1undefined
    C.实参的数量多于形参

    不会报错,但是得到的多出的实参的值,要用arguments对象

        function fun(a,b) {
            document.write(a);
            document.write(b);
        }
        fun(1,2,3);
    

    输出 12

    二、arguments对象

    每创建一个函数,该函数就会隐式地创建一个arguments对象,它包含有实际传入参数的信息。
    它有两个属性。1.length(检测函数实际传入参数的个数)2.callee(对本身的调用)
    它可以访问每一个传入参数的具体的值

        function fun(a,b) {
            document.write(arguments.length);
            document.write("<br/>");
            document.write(arguments.callee);
            document.write("<br/>");
            document.write(a);
            document.write(b);
        }
        fun(1,2,3);
    

    输出

    3
    function fun(a,b) { document.write(arguments.length); document.write("
    "); document.write(arguments.callee); document.write("
    "); document.write(a); document.write(b); }
    12
    

    arguments[下标] 访问当前位置的参数的值(下标从0开始)

        function fun(a,b) {
            document.write(arguments[2]);
        }
        fun(1,2,3);
    

    输出 3

        function fun(a,b) {
            for (var i=0;i<arguments.length;i++){
                document.write(arguments[i]+"&nbsp;");
            }
        }
        fun(1,2,3);
    

    输出 1 2 3

    三、函数重载

    同一个函数因为参数的类型和个数的不同,可以对应多个函数实现,每种实现对应一个函数体

        function fun(a,b) {
           if(arguments.length==1){
               document.write("参数只有一个 "+a);
           }
           if(arguments.length==2){
               document.write("参数有两个,分别是 "+a+"&nbsp;"+b);
           }
           if(arguments.length>2){
               document.write("参数太多了");
           }
           document.write("<br/>");
        }
        fun(1);
        fun(1,2);
        fun(1,2,3);
    

    输出

    参数只有一个 1
    参数有两个,分别是 1 2
    参数太多了
    

    四、return语句

    A.停止并跳出当前的函数

    return语句后面的函数体内所有内容都不会有输出

        function fun(a) {
            return;
           document.write(a);
        }
        fun(1);
    

    没有输出

    在函数体内可以有多个return语句,但是只会执行一个。(通常用于判断语句)

        function fun(a) {
            if(a>0){
                document.write(a+"大于0");
                document.write("<br/>");
                return;
            }
            if(a<0){
                document.write(a+"小于0");
                document.write("<br/>");
                return;
            }
        }
        fun(1);
        fun(-2);
    

    输出

    1大于0
    -2小于0
    

    B.给函数返回一个值 return [返回值];

    1.返回值可以是任何的数据类型
    2.只能返回一个返回值
    3.如果函数没有返回值,那么这个函数的值就会自动地赋值为undefined

        function fun(a) {
            if(a>0){
                document.write(a+"大于0");
                document.write("<br/>");
                return;
            }
        }
       document.write( fun(1));
    

    输出

    1大于0
    undefined
    
        function fun(a) {
            if(a>0){
                document.write(a+"大于0");
                document.write("<br/>");
                return a;
            }
        }
       document.write( fun(5));
    

    输出

    5大于0
    5
    

    相关文章

      网友评论

          本文标题:javascript函数的参数和return语句

          本文链接:https://www.haomeiwen.com/subject/qvhtgctx.html