alsotang / node-lessons

:closed_book:《Node.js 包教不包会》 by alsotang
16.54k stars 4.7k forks source link

lesson18有错误描述 #170

Closed tokisakiyuu closed 4 years ago

tokisakiyuu commented 4 years ago

这里有个比较有趣的知识,console.log(Function.length)会返回函数定义的参数个数。值跟在函数体内执行arguments.length一样。

声明时定义5个参数:

function foo(a,b,c,d,e) {
    console.log(arguments.length)
}

Function.length的值:

console.log(foo.length); 
    // => 5

局部作用域中arguments.length的值:

foo("t")'
   // => 1
foo("t", "y")'
   // => 2
foo("t", "y", "p")
   // => 3
foo("t", "y", "p", "o")
   // => 4
foo(1, 2, 3, 4, 5, 6, 7, 8, 9)
   // => 9

Function.lengtharguments.length 并没有直接的关联,Function.length是函数声明时声明的参数的个数,arguments.length是函数调用时传入的参数个数

alsotang commented 4 years ago

值跟在函数体内执行arguments.length一样。

我把这一句删掉。