函数参数-arguments-reset参数
2024-08-31 19:38:20
1、JS中用:arguments
1)存放实参的集合,是一个类似于数组的对象,只有数组的 length,没有数组方法
function add1(a,b,c) {
console.log(arguments.length) // 实参个数1个
}
add1(3)
2)arguments.callee 指向函数自身,可用于递归,严格模式下已禁用
3)限制参数数量:通过arguments.length 限制传入的参数数量
4)将 arguments 转为数组
Array.prototype.slice.apply(arguments)
5)当没有形式参数时,也可以传入参数,通过arguments引用
function add1() {
for(var i =0 ;i< arguments.length ; i++) {
console.log(arguments[i]) // 1,2,3
}
}
add1(1,2,3)
6)通过实参个数模拟java,c++重载:是指允许存在多个同名方法,而这些方法的参数不同
function say () {
switch(arguments.length) {
case 0:
return ;
case 1:
return ;
case 2:
return ;
}
}
2、ES6中用:reset参数
1)形式为 : “...变量名” ,该变量是一个数组
2)reset参数位置在尾参数
3)函数的length 不包括 reset参数
function add(...arg){ }
add(1,2,3) 内部实现原理:
function add() {
for (var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++) {
arg[_key] = arguments[_key];
} }
剩余参数(只有函数的最后一个参数才可以是剩余参数)
function add(num,...arg){ } // num =1 arg=[2,3]
add(1,2,3)
最新文章
- [Android]在Adapter的getView方法中绑定OnClickListener比较好的方法
- SPFA(负环) LightOJ 1074 Extended Traffic
- ubuntu14.04上安装Mysql-5.7.11
- iframe和form表单的target应用简单例子
- (转)Mono for Android 优势与劣势
- Linux网络基础
- iBatis 的删除一条记录
- 《HTML5 从入门到精通--7.6.3 单元格垂直跨度——rowspan》
- poj3468 线段树+lazy标记
- CCF 201609-4 交通规划
- [部署]CentOS安装PHP环境
- php static 变量的例子
- 基础_模型迁移_CBIR_augmentation
- oracle任务job
- 如何快速切换Python运行版本,如何选择Python版本
- discuz修改太阳,月亮,星星等级图标
- Mac 安装zsh
- ubuntu14.04, libtinyxml.so.2.6.2: cannot open shared object file: No such file or directory
- extjs 可视化开发工具
- chrome调试工具