JavaScript--函数

 1. 什么是函数?
            对一段代码进行封装,封装的代码总是一个完成某项功能
        简单理解: 封装的一个功能

    2. 函数有何用?
        完成某个操作(功能),可以完成多次

    3. 为什么要使用函数?
        3.1 减少代码的冗余度
        3.2 后便后期对功能维护

    4. 怎么使用?

5.函数声明式语法

function 函数名(){

       函数体

}

5.1函数声明式定义的函数会被提升到整个脚本的最前面解析

5.2函数声明式在调用时可以放在函数的之前或者之后

5.3函数表达式在封装时用的多

6.函数表达式语法

var 变量名 = function(){

     函数体

}

(6.1 函数表达式在调用时只能放在函数之后

6.2变量名相当于函数名

6.3函数表达是在事件中用的多

7.带有参数的函数(形参和实参需要一一对应)

function printSum(a,b){

      let sum = a+b;

console.log(sum)

}

printSum(1,3);

8.封装形参表格

printTable(10,5);(10行5列)

 function printTable(row,col){
            document.write("<table>");
            for (let i=1;i<=row; i++){
                //行开始
                document.write("<tr>");
                for(let j=1;j<=col; j++){
                    //列开始
                    document.write("<td>");

                    //内容
                    document.write("1");

                    //列结束
                    document.write("</td>");
                }

                //行结束
                document.write("</tr>");
            }
            //表格结束
            document.write("</table>");

        }
9.简单的封装

 9.1形参替换实际值  9.2 用return替换输出
            function returnMax(a,b,c){
                let max = a>=b?a:b;
                max = max>=c?max:c;
                return max;
            }
        //9.3. 调用
            let result = returnMax(12,34,56);
            result = result + 10;
            console.log(result);
       1. 带有返回值函数注意点:
        a.函数执行后的结果并没有输出,如果想查看结果,必须手动输出
        b.函数遇到return就结束,不管后面还有多少都不执行
        c.return只能在函数中使用

10.函数分类

10.1内置函数:无需定义就可以直接调用

10.2内置/系统函数: 
   11.递归函数

概念:函数内部对自身的调用!

eg:求1,3,5,7,9.......第n项的值  和  前n项的和

 

 需求:  求1,3,5,7,9.......第n项的值  和  前n项的和

        //1. 第一步: 假设递归函数已经写好
            //第n项的值
                function fn(n){}
            //前n项的和
                function fsum(n){}

        //2. 第二步: 寻找递推关系
            //第n项的值递推关系
                fn(n) = fn(n-1) + 2  // 递推关系
                fn(n-1) = fn(n-2) + 2
                fn(n-2) = fn(n-3) + 2
                ....
                fn(3) = fn(2) + 2
                fn(2) = fn(1) + 2
                fn(1) =  1   //临界出口

            //前n项的和递推关系
                fsum(n) = fsum(n-1) + f(n)  // 递推关系
                fsum(n-1) = fsum(n-2) + f(n-1)
                ....
                fsum(3) = fsum(2) + f(3)
                fsum(2) = fsum(1) + f(2)
                fsum(1) = 1 //临界出口

        //3. 将递推关系添加到递归函数形成递归体
               //第n项的值
                function fn(n){

                    return fn(n-1) + 2;
                }
               //前n项的和
                function fsum(n){

                    return fsum(n-1) + f(n);
                }

        //4. 将临界条件添加到递推体中形成递归函数
            //第n项的值
                function fn(n){
                    if(n==1){
                        return 1
                    }
                    return fn(n-1) + 2;
                }
               //前n项的和
                function fsum(n){
                    if(n==1){
                        return 1
                    }
                    return fsum(n-1) + f(n);
                }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值