ECMAScript函数的参数与大多数其他语言函数的参数不同。ECMAScript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么数据类型。

原由在于,ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的永远是数组,而不关心包含哪些参数。并且,实际上,在函数体内可以通过arguments对象

来访问这个参数数组,从而获取传递给函数的每一个参数。

不过,其实arguments对象只是与数组类似(他不是Array实例),因为可以使用方括号语法访问他的每一个元素。

关于arguments的行为,还有一个特殊性,那就是他的值永远和对应命名参数的值一致。但这不是说,读取这两个值,会访问同一个内存空间。他们的内存空间是独立的,但是值会同步。

ECMAScript函数是没有重载的。正如上面说的他的参数是一个arguments对象(类似数组),那么不管你怎么改变参数形式,他都会保存在一个数组里,最终访问的都是访问这个arguments对象数组。

最新文章

  1. paxos(chubby) vs zab(Zookeeper)
  2. BZOJ1565 [NOI2009]植物大战僵尸(拓扑排序 + 最大权闭合子图)
  3. HBase参数配置及说明
  4. Java中多态的一些简单理解
  5. clang: error: linker command failed with exit code 1 (use -v to see invocation)
  6. .NET中JSON的序列化和反序列化
  7. 移动web页面使用微软雅黑字体的问题
  8. 多台Mac电脑使用一个apple开发者账号
  9. Swift中面向协议的编程
  10. Decimal
  11. 用户配置文件(passwd/shadow)
  12. WebIM(3)----性能测试
  13. mac下安装 resin 奇葩问题总结
  14. RESTful API 编写指南
  15. sed在行首或者行尾添加内容
  16. 二丶Django~1
  17. kali 局域网嗅探
  18. 重新定位Excel Addin插件的方法
  19. 小程序客服下发消息禁止后 session from 还有用吗?
  20. angularjs使用ui-router切换视图, 自动滚动到顶部

热门文章

  1. Linux下的压缩解压缩命令详解及实例
  2. 在vscode中,自定义代码片段,例vue组件的模板
  3. Spark多种运行模式
  4. L1 正则为什么会使参数偏向稀疏
  5. SpringBoot集成TkMybatis插件 (二)
  6. (转)3个常用基于Linux系统命令行WEB网站浏览工具(w3m/Links/Lynx)
  7. 最大似然估计实例 | Fitting a Model by Maximum Likelihood (MLE)
  8. English trip EM2-LP-1B Favorite Things Teacher:William Full name: Willian Richard Ogzrd 威廉理查德·奥格兹德
  9. proc-virtual-file-system
  10. LeetCode--263--丑数