JS--理解参数,argument,重载
2024-09-16 01:52:05
ECMAScript函数的参数与大多数其他语言函数的参数不同。ECMAScript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么数据类型。
原由在于,ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的永远是数组,而不关心包含哪些参数。并且,实际上,在函数体内可以通过arguments对象
来访问这个参数数组,从而获取传递给函数的每一个参数。
不过,其实arguments对象只是与数组类似(他不是Array实例),因为可以使用方括号语法访问他的每一个元素。
关于arguments的行为,还有一个特殊性,那就是他的值永远和对应命名参数的值一致。但这不是说,读取这两个值,会访问同一个内存空间。他们的内存空间是独立的,但是值会同步。
ECMAScript函数是没有重载的。正如上面说的他的参数是一个arguments对象(类似数组),那么不管你怎么改变参数形式,他都会保存在一个数组里,最终访问的都是访问这个arguments对象数组。
最新文章
- paxos(chubby) vs zab(Zookeeper)
- BZOJ1565 [NOI2009]植物大战僵尸(拓扑排序 + 最大权闭合子图)
- HBase参数配置及说明
- Java中多态的一些简单理解
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
- .NET中JSON的序列化和反序列化
- 移动web页面使用微软雅黑字体的问题
- 多台Mac电脑使用一个apple开发者账号
- Swift中面向协议的编程
- Decimal
- 用户配置文件(passwd/shadow)
- WebIM(3)----性能测试
- mac下安装 resin 奇葩问题总结
- RESTful API 编写指南
- sed在行首或者行尾添加内容
- 二丶Django~1
- kali 局域网嗅探
- 重新定位Excel Addin插件的方法
- 小程序客服下发消息禁止后 session from 还有用吗?
- angularjs使用ui-router切换视图, 自动滚动到顶部
热门文章
- Linux下的压缩解压缩命令详解及实例
- 在vscode中,自定义代码片段,例vue组件的模板
- Spark多种运行模式
- L1 正则为什么会使参数偏向稀疏
- SpringBoot集成TkMybatis插件 (二)
- (转)3个常用基于Linux系统命令行WEB网站浏览工具(w3m/Links/Lynx)
- 最大似然估计实例 | Fitting a Model by Maximum Likelihood (MLE)
- English trip EM2-LP-1B Favorite Things Teacher:William Full name: Willian Richard Ogzrd 威廉理查德·奥格兹德
- proc-virtual-file-system
- LeetCode--263--丑数