[英]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.