1. 程式人生 > >js函式的建立方式----各種傳參

js函式的建立方式----各種傳參

<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title></title>
      <!--建立函式的兩種方式-->
      <script type="text/javascript" >
    /*
     * 方式一:函式宣告
     */
    function fun1(){
        console.log("函式宣告的方法體")
    }
    /**
     * 方式二:函式表示式(建立一個匿名函式賦值給變數)
     */
    var fun2=function(){
        console.log("函式表示式的方法體")
    }
    fun1();
    fun2();
      </script>
      
      <!--函式的引數-->
      <script type="text/javascript">
    /*
     *   js不會檢查函式數量(多了沒事,少了會報NaN)
     * */
    function sum(a,b){
        console.log("和為"+(a+b))
    }
    sum(1,2,"hello",true);
      </script> 
      
      <!--函式返回值-->
      <script type="text/javascript">
    /*
     * 1.如果return語句後不跟任何值就相當於返回一個undefined
     * 2.如果函式不寫return 則也會返回undefined
     * 3.return後可以跟任意型別值
     * */
    function sum2(a,b,c){
        var result=a+b+c;
        return result;
    }

    result=sum2(1,2,3)

    //呼叫函式
         console.log(result)
      </script>
      
      <!--將物件傳入function(適用於傳入的引數較多)-->
      <script type="text/javascript"  >
    obj={
        name:"小明",
                sex:"男",
                age:"18"
    }
    function fun4(obj){
        return obj.name+"性別-"+obj.sex+"今年-"+obj.age;
    }


    //呼叫函式
    var result=fun4(obj);
         console.log(result)
      </script>
        
        <!--將函式傳入函式function(函式本身就是一個匿名物件)-->
        <script type="text/javascript" >
    obj={
        name:"小明",
                sex:"男",
                age:"18"
    }
    function fun5(obj){
        return obj.name+"性別-"+obj.sex+"今年-"+obj.age;
    }



    function fun6(a){
        //console.log(a) 
        return a(obj);
    }

    //觸發函式
    var ss=fun6(fun5);
         console.log(ss)
        </script>
   </head>
   <body>
   </body