簡體   English   中英

JS中function.length和arguments.length有什么區別

[英]What is the difference between function.length and arguments.length in JS

我在 edabit 遇到過這個問題:

創建一個函數,該函數返回調用它的參數數量。

我試圖用谷歌搜索答案,但我找到了 2 種方法來創建這樣的函數,但它令人困惑。

舉些例子,

numArgs() ➞ 0

numArgs("foo") ➞ 1

numArgs("foo", "bar") ➞ 2

numArgs(true, false) ➞ 2

numArgs({}) ➞ 1

正如我的問題標題所述,function.length 和arguments.length 之間有什么區別

如果我創建如下:

function args(){
  return arguments.length;
}

我得到了結果

但是當我做 args.length 時有什么區別?

length是函數對象的一個​​屬性,表示函數期望的參數數量,即形式參數的數量。 ...相比之下, arguments.length是函數的局部arguments.length ,並提供實際傳遞給函數的參數數量。

來源: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length

您的代碼定義了一個名為“args”的函數,它不接受/處理任何參數。

該函數返回其接收到的參數的“長度”(計數),這取決於調用時傳遞給它的參數(如果有)的數量。

聲明參數的“長度”(計數)為 0,因為它的聲明沒有指定任何參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM