Files
freeCodeCamp/guide/chinese/javascript/standard-objects/function/function-length/index.md
2018-10-16 21:32:40 +05:30

39 lines
1.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Function Length
localeTitle: 功能长度
---
## 功能长度
函数对象的`length`属性保存调用时函数所期望的参数数。
```javascript
function noArgs() { }
function oneArg(a) { }
console.log(noArgs.length); // 0
console.log(oneArg.length); // 1
```
### ES2015语法
ES2015或通常称为ES6引入了rest操作符和默认函数参数。这两个添加都改变了`length`属性的工作方式。
如果在函数声明中使用了rest运算符或默认参数`length`属性将仅包含rest运算符或默认参数之前的参数数。
```javascript
function withRest(...args) { }
function withArgsAndRest(a, b, ...args) { }
function withDefaults(a, b = 'I am the default') { }
console.log(withRest.length); // 0
console.log(withArgsAndRest.length); // 2
console.log(withDefaults.length); // 1
```
有关`Function.length`更多信息可以在[Mozilla的MDN Docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length)上找到。