js 函数的某些内容、递归函数、传参、行参、实参乱七八糟的、、、

函数语法:
function 函数名() 函数名:自己取的,定义
{

函数代码; 函数代码:要执行的代码
}

匿名函数
var aa = function(){

}
直接把函数赋值给变量aa,调用的时候:aa()

<script type="text/javascript">

var a = function b(){
    var c =1111;
}
    
alert(a)    
</script>
弹窗a就会显示函数

 

return在函数中的作用:当函数执行到return语句时,不管后面有无代码,都将结束函数的执行。

 

递归函数,就是在函数体内调用函数本身,实现循环,比如可以求阶乘

<script type="text/javascript">

function fact(num){
    if (num<=1){
        return 1;            //  
    }else{
        return num*fact(num-1);    //10进入函数,自动调用9,一直到1;停止函数,并且返回值
    }
} 
document.write(fact(10));
</script>
如果不加入return,会编程死循环

函数参数传递

<script type="text/javascript">

function push(a,b){
    var sum = 0;
    if(a > b){
        return false;
    }
    for(var i = a ; i <= b ; i++){
        sum+=i;
        }
    return sum;              //return sum 删除,换成alert(sum),p标签的点击事件改成:onclick=“push(1,100)”
}                                       
</script> </head> <body> <p onClick="alert(push(1,100))">显示1+2+3.····+100</p>

 function fact():参数是空的,名为形式参数,行参

<script language="JavaScript" type="text/javascript">
var demo=function(m,n){  // 2个形参
    document.write("m="+m);
    document.write("  n="+n);
}
demo(10,20);   // 2个实参
document.write("<br />");
demo(10,20,100);  // 3个实参
document.write("<br />");
demo(10);  // 1个实参
</script>
输出结果
m=10 n=20
m=10 n=20
m=10 n=undefined
以上结果表明:
  • 调用函数传递的实参与定义函数规定的形参是依次对应的,即第1个实参的值传递给第1个形参,第2个实参的值传递给第2个形参...
  • 超出形参数目的实参不传递其值。
  • 如果没有对应的实参(实参数目少于形参数目)传入,其值为undefined。

 

内容基本参考自http://www.itxueyuan.org/

posted @ 2017-10-19 23:16  沃泽法克  阅读(891)  评论(0编辑  收藏  举报