Arguments對象

Arguments對象
1、在JavaScript中,argument對象是一個比較特別的對象,實際上是當前函數的一個內置屬性。arguments非常類似Array。但實際上不是一個Array實例。
2、arguments對象的長度由實參個數而不是形參個數決定
。形參是函數內部重新開辟內存空間存儲的變量,但是與其arguments對象內存空間并不重疊。對于arguments和值都存在的情況下,兩者是同步的,但是對其中一個無值的情況下,對于此無值的情形值不會得以同步。

function f(a, b, c){
    alert(arguments.length);   // result: "2"    a = 100;
    alert(arguments[0]); 
      // result: "100"    arguments[0] = "qqyumidi";
    alert(a);                  // result: "qqyumidi"
    alert(c);                  // result: "undefined"    c = 2012;
    alert(arguments[2]);       // result: "undefined"}f(1, 2);

3、JavaScript中函數不能重載
(1)JavaScript函數的聲明沒有返回類型的概念
(2)JavaScript中形成的個數嚴格意義講只為了方便在函數的變量操作,實際上實參依據存儲在arguments對象中了
4、arguments對象中callee,arguments.callee返回此arguments對象所在函數引用。在使用函數遞歸調用時推薦使用arguments.callee代替函數名本身.
callee是argument的一個指針,指向擁有argument對象的函數。

function cont(a){
     if(a==1){
          return 1;
     }
     return a+arguments.callee(--a); //用arguments.callee來代替cout()函數。
}
var mm=count(10);
alert(mm);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容