javascript教程系列-4.函数


​欢迎加入前端交流群​​:749539640

请标明出处



 



          在火影的世界中存在忍术,忍术是把强大的能量集中在一起以各种各样不同的形式发射出来。怎样使用各种各样的忍术那?通过结印。




好,我们提取一些火影忍者中的关键信息。


1.火影忍者的故事背景有忍术存在,忍术什么样是由忍术先祖发明出来的。


2.忍术是同过结印触发的。结印几次就触发几次;(查克拉足够的情况下)


          通过这个背景我们想象一下,在JavaScript这个故事中,有一种类似忍术的东西,这种东西叫做函数,忍术先祖可以创造各种各样的忍术,同样我们也可以创造各种各样不同的函数,忍术需要结印才能触发,同样的函数需要调用才能触发。




​99乘法表.html
637 bytes



函数


将代码编写在函数中,就可以避免在非必要情况下调用该代码,也就是说我们可以让一段代码在特定情况下再去执行。


function 关键字:该关键字表示要声明一个函数。


如何执行函数()


function m1(){


    //xxxxxxxxxxxxx


}


for(var i=0;i<10;i++){

    m1();

}


刚才提到,函数的意义就是在特定情况下运行函数,那么什么是特定的情况那?


JavaScript是事件驱动的语言!


事件:用户的行为。


onclick、ondblclick、onfocus、onblur



99乘法表.html8.2 KB



函数的参数


function m1(v1, v2, v3...){

    //xxxxxxxxxxxxx

}



return关键字


带返回值的函数


案例:


年月日分别为自定义函数的参数,判断是否为正确的日期



是否正确日期.html1.2 KB



作业:


三个输入框分别输入,年、月、日, 判断,年月日是否正确。



参数可以传递多个,与函数的定义无关


function fn(e,b){


}


fn ("a","b","c");


案例:要实现一个加法运算,将所有传进来的数字累加。


作用域的问题


作用域的生命周期。


var a = 10;


function m1(){ 

    var a = 5;

    alert(a);

}



递归的用法


什么是递归?


自身调用自身!


function pr(){


    return pr()


}


关键点:


1.终止条件


2.运算规则


function pr(n){


     if(n==1){  // 终止条件

          return n;

     }


     return pr(n-1)+n;    


}


打印任意个hello world;


function pr(n){


    if(n==0){

        return

    }


    document.write('hello world!!<br>');


    return pr(n-1);


}


pr(10)


     




输出斐波那契额数列数列的前20项(递归)


 function fib(n){


            if(n==1||n==2){


                return 1


            }


            return fib(n-1)+fib(n-2)


        }


 for(var i = 1 ; i <= 20; i++){


            document.write(fib(i)+'<br>')


   }