JS---arguments不定參


我們一般稱使用arguments為可變參或不定參,采用arguments的函數其參數個數是可變的。

arguments本質是一個數組,數組內存儲的內容就是我們傳入的的參數

舉個例子:

//寫一個累加求和的函數
function sum(){
        var result=0;
        for(var i=0;i<arguments.length;i++){
            result+=arguments[i];
        }
        return result;
    }
    console.log(sum(2,3,4));//9
    console.log(sum(1,10,100,1000));//1111

接下來,我們再看一個css函數的例子。

  假設,它的形式為:css(oDiv,樣式),其作用為獲取樣式值。

     它的形式為:css(oDiv,樣式,樣式值)其作用為設置樣式。

  參數個數不同,實現的功能不同,那么我們可以利用arguments的長度來判斷其功能。 

    function css(){
        if(arguments.length==2){// 獲取樣式值
            return arguments[0].style[arguments[1]];
        }else if(arguments.length==3){//設置樣式值
            arguments[0].style[arguments[1]]=arguments[2];
        }
    }

但是這樣的可讀性又很差,實際上,我們依舊可以對不定參函數的參數進行命名,從而提高代碼可讀性:

  function css(obj,name,value){
        if(arguments.length==2){
            return obj.style[name];
        }else if(arguments.length==3){
            obj.style[name]=value;
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM