Har*_*men 80
Function.length 会做的工作(在我看来真的很奇怪)
function test( a, b, c ){}
alert( test.length ); // 3
Run Code Online (Sandbox Code Playgroud)
顺便说一下,这个长度属性非常有用,请看看John Resig关于Javascript的教程的这些幻灯片
该arity属性指定当前函数期望接收的参数数.这与arguments.length表示传入了多少实际参数的不同.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/arity
请注意,arity自v1.4以来已弃用.现在function.length正如Harmen所建议的那样,获得预期参数数量的正确方法.
请注意,在指望 之前fn.length,有一些边缘情况可能会导致结果与您的预期不同:
const fn1 = ( a, b ) => {}; // length: 2
const fn2 = ( a = 0, b ) => {}; // length: 0
const fn3 = ( ...params ) => {};// length: 0
const fn4 = ( a, b = 1, c ) => {};// length: 1
Run Code Online (Sandbox Code Playgroud)
fn.length 似乎无法识别默认值或休息运算符。
你可以弄乱这个codePen
| 归档时间: |
|
| 查看次数: |
9456 次 |
| 最近记录: |