6.1 Function.prototype.length

2018-11-03  本文已影响0人  牧羊少年之奇幻之旅

参考以下文章学习:
1. Function.length - MDN

length 属性指明函数的形参(formal parameters)个数,length 是函数对象的一个属性,指该函数有多少个必须要传入的参数,即形参的个数,形参的数量不包括 rest parameter。仅包括第一个具有函数参数默认值的参数之前的参数个数。与之对比的是,arguments.length 是函数被调用时实际传参的个数。

Function.prototype.length 属性的属性描述符:

propertyDescriptor.png
var cl = console.log;

cl(Function.length); // expected output: 1
cl((function () {}).length); // expected output: 0
cl((function (a) {}).length); // expected output: 1
cl((function (a, b) {}).length); // expected output: 2 etc.

cl((function (...rest) {}).length); // expected output: 0. rest parameter is not counted;
cl((function (a, b = 1, c) {}).length); // expected output: 1. only parameters before the first one with a default value is counted
上一篇下一篇

猜你喜欢

热点阅读