function a(x,y){}
a.length // 2 function b(x,y=2,z){}
b.length // 1 function c(x,...args){}
c.length //1
length 是JS函数对象的一个属性值,该值是指 “该函数有多少个必须要传入的参数”,即形参的个数
形参的数量不包括剩余参数个数,仅包括 “第一个具有默认值之前的参数个数”

在没有默认值时,fn.length指的是形参的个数,如果有参数有默认值,那么就取第一个具有默认值之前的参数的个数。

函数的实参个数应该怎么获取?
arguments.length //在函数内部使用,表示实际传入的参数个数,在运行时计算,和形参个数无关

  例子:

function a(x,y,z){
console.log(arguments.length); // 3
}(1,2,3) function b(x,y=2){
console.log(arguments.length) // 3
}(1,2,3) function c(x,y=2){
console.log(arguments.length) // 1 }

  总结来说就是:function.length  获取的是形参的长度   而在函数内部定义的argument.length 获取的是 实参的长度

最新文章

  1. 代码的坏味道(19)——狎昵关系(Inappropriate Intimacy)
  2. OpenCv ROI操作
  3. 用Python3实现表达式求值
  4. C# WebBrowser 网页缩放的方法
  5. Jmeter :多个jmeter如何参数化获取不同的CSV文件
  6. 浅谈SEO-收录(二)
  7. Python-1 IDLE(Python GUI)
  8. Hibernate的Restrictions用法
  9. SQL Server查询优化方法(查询速度慢的原因很多,常见如下几种) .
  10. CodeForces 370C. Mittens
  11. 领域驱动设计(DDD)
  12. centos下编译phantomjs2.0
  13. (一)IDEA工具开第一个springboot应用之helloworld
  14. 微信小程序部署问题总结
  15. 13.HashMap TreeMap HashTable LinkedHashMap 的区别
  16. 2018-2019-2 20165206 网络攻防技术 Exp5 MSF基础应用
  17. 微信小程序页面跳转方法总结
  18. .NET Core微服务之路:利用DotNetty实现一个简单的通信过程
  19. Fuck me 忘记改REDO 造成复制用户超级慢
  20. 技术分享会:深度学习Deep Leanring

热门文章

  1. Linux:find 指令的选项 +n、-n、n
  2. Linux内存占用过高排查过程
  3. Solon2 与 Spring Boot 的区别
  4. 【linux系统安装】Anolis OS-龙蜥操作系统实机安装流程整理
  5. SVN提交到服务器退回至指定版本(撤销操作)
  6. CLIP改进工作串讲(上)学习笔记
  7. mysql 主次数据库搭建
  8. 预处理指令详解(C语言
  9. C++ STL中的二分法
  10. MS14-064/CVE-2014-6332漏洞复现(OLE远程代码执行漏洞、IE浏览器漏洞)