首頁 > web前端 > js教程 > js中arguments的用法

js中arguments的用法

高洛峰
發布: 2016-12-14 09:08:47
原創
1763 人瀏覽過

arguments特性

arguments物件不能明確創建,arguments物件只有函數開始時才可用。函數的 arguments 物件並不是一個數組,存取單一參數的方式與存取數組元素的方式相同。索引 n 其實是 arguments 物件的 0…n 屬性的其中一個參數。
 

在javascript中,不需要明確指出參數名,就能存取它們。如:

function hi(){
if(arguments[0]=="andy"){
     return;
}
alert(arguments[0]);
}
登入後複製

arguments的length屬性

意義

傳回呼叫程式傳遞給函數的實際參數數目。

用法

[function.]arguments.length

其中可選項 function 參數是目前正在執行的 Function 物件的名稱。

說明

當 Function 物件開始執行時,腳本引擎將 arguments 物件的 length 屬性初始化為傳遞給該函數的實際參數數目。

js不會主動為你判斷你到底給函數傳了多少個參數,如果你多傳了,多餘的部分就沒有被使用,如果你少傳了,那麼沒傳的參數值就是undefined


所以我們可以藉助arguments的length屬性來偵測呼叫函數時是否使用了正確數目的實際參數,因為javascript是不會為你做這些事的


arguments 的0...n 屬性

意義

回傳一個 arguments 物件中的各個參數的實際值,對應的值是由一個正在執行的函數的 arguments 屬性傳回的。

用法

[function.]arguments[[0|1|2|...|n]]

參數

function

可選項。目前正在執行的 Function 物件的名稱。

0, 1, 2, …, n

必選項。 0 到 n 範圍內的非負整數,其中 0 代表第一個參數而 n 代表最後一個參數。最後參數 n 的值為 arguments.length-1

說明

0 . . . n 屬性所傳回的值就是傳遞給正在執行的函數的實際值。儘管實際上並不是一個參數數組,您還是可以按照與存取數組元素的方法相同的方式存取組成 arguments 物件的各個參數。

範例

下面的範例示範了 arguments 物件的 0 . . . n 屬性的用法

function ArgTest(){
   var s = "";
   s += "The individual arguments are: "
   for (n=0; n< arguments.length; n++){
      s += ArgTest.arguments[n];
      s += " ";
   }
   return(s);
}
print(ArgTest(1, 2, "hello", new Date()));
登入後複製

arguments的callee屬性

tion ,這有利於實現無名函數的遞歸或保證函數的封裝性。

用法

[function.]arguments.callee

可選項 function 參數是目前正在執行的 Function 物件的名稱。

說明

callee 屬性是 arguments 物件的一個成員,僅當相關函數正在執行時才可用。

callee 屬性的初始值就是正被執行的 Function 物件。這允許匿名的遞歸函數。

實例:

用遞歸來計算1到n的自然數總和:

<script>
   var sum=function(n){
    if(1==n) {
       return 1;
    } else {
       return n + arguments.callee(n-1);
     }
  }
  alert(sum(100));
</script>
登入後複製


相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
arguments問題
來自於 1970-01-01 08:00:00
0
0
0
python - Argparse庫使用報錯too few arguments
來自於 1970-01-01 08:00:00
0
0
0
javascript - 關於js可變參數的一個取值疑問
來自於 1970-01-01 08:00:00
0
0
0
預設參數問題
來自於 1970-01-01 08:00:00
0
0
0
javascript - 洩漏參數
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板