首页 >社区问答列表 >javascript - js函数中的length属性

javascript - js函数中的length属性

对于自定义函数:
function fun(a,b) {

console.log(a);

}

在chrome的开发工具中打印window对象,发现有自定义的函数fun和自有函数getComputedStyle.

其中fun函数的形参有两个,所以length属性为2,getComputedStyle形参有一个,所以length为1,
那么为何显示fun:function fun(a,b)
却不显示 getComputedStyle:function getComputedStyle(形参1,形参2)呢?

  • typecho
  • typecho    2017-06-14 10:55:552楼

    length 是函数对象的一个属性值,指该函数有多少个必须要传入的参数,那些已定义了默认值的参数不算在内,比如function(xx = 0)的length是0。

    另外在函数内部:arguments.length 是函数被调用时实际传参的个数。

    +0添加回复

  • 回复
  • 黄舟
  • 黄舟    2017-06-14 10:55:551楼

    这跟length没多大关系,只是显示问题,因为自有函数自带检查参数的功能,你传入的参数类型个数不对,就会报错,显示形参没多大意义,但你自定义的函数不会啊,所以会显示完整的形参类型。

    +0添加回复

  • 回复