js中函數的傳遞參數

                   js中函數的傳遞參數

一、js中函數傳遞參數
     1、函數傳遞的參數類型  =  js的數據類型
           數字、字符串、布爾值、數組、函數、對象、未定義
          1)數字
            代碼如下:
             fn1(100);
             function fn1(a){  //相當於var a = 100;
                alert(a); //返回的值是100,
             } 
          2)函數類型 (無名函數)
             fn2( function(){
                alert("a");
             })
             function fn2(fn){
                fn();  //返回的值是"a";
             }

             函數類型(有名函數)
             fn3( function fn(){
                alert('js');
             })
             function fn3(fn){
                fn();  //返回的值是js
             }

             fn4( function fn( a ){
                alert( a );
             })
             function fn4( fn ){
                fn( 100 ); //返回的值爲100,將100傳遞到fn()的a中
             }
         3)對象類型
             fn5( window,document )
             function fn5( w,d ){
                w.onload = function(){
                    d.body.innerHTML = 123; //返回的是在body內有123
                }
             }
     2、js中傳遞參數時的特性
         1)js中函數傳參時如果傳遞多個參數,需要用",",隔開,而且需要不同的變量去接               收參數,傳遞的參數與接收參數的變量是一一對應的
            代碼入下:
            fn6( "我愛學習","js");
             function fn6( a,b ){
                alert( a+b );  
                //返回的值是我愛學習js,把我愛學習給變量a,把js傳遞給變量b
             }
          2)函數的傳遞參數過程中可以定義多個參數,接受參數時會按照代碼的順序進行                接收
             代碼如下:
             fn7('javascript');
             fn7('學習js課程');
             function fn7( a ){
                alert( a.charAt(4) );
                //返回的值爲 先返回"s" ,再返回"課"
             }
      3、js中函數傳參的簡單例子( 判斷內容的類型 ):
           代碼如下:
           window.onload = function(){
                fn1( 100 );
                fn1('javascript');
                fn1( function(){
                    alert('a');
                })
                function fn1(a){
                    if(typeof a === 'number' &&a === a){ //判斷數字類型時要注意NaN是數字                                              類型但不是數字,可以用NaN與自身不等的方法進行判斷
                        alert(a + 50);
                    }else if(typeof a === 'string'){
                        alert(a.charAt(4));
                    }else if(typeof a === 'function'){
                        a();
                    }
                }
            }
注意:在上面的文章中,紅色爲重點部分,顏色越深越重點,黃色爲舉例部分
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章