arguments的使用
当我们不确定有多少参数传递的时候,可以使用 arguments 来获取,在 JavaScript 中, arguments 实际上它是当前函数的一个内置对象。
所有的函数都内置了一个 arguments 对象,arguments 对象中 存储了传递的所有实参 。
例如:
function numMax(){
var max=arguments[0]; // arguments 中存储了numMax函数中的所有实参:23,45,96,87
for( var i=1; i<=arguments.length-1;i++){
if(arguments[i] > max){
max = arguments[i];
}
}
}
numMax(23,45,96,87);
在调用函数时,浏览器每次都会传递进两个隐含的参数:
1. 函数的上下文对象 this
2. 封装实参的对象 arguments
- arguments 是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度
- 在调用函数时,我们所传递的实参都会在 arguments 中保存
- arguments . length 可以用来获取实参的长度
- 即使不定义形参,也可以通过 arguments 来使用实参,只不过比较麻烦
arguments[ 0 ] 表示第一个实参
arguments[ 1 ] 表示第二个实参
- arguments 里面有一个属性:callee,属性对应一个函数对象,就是当前正在执行的函数的对象
可以使用 属性 arguments 和函数 fun 做比较,相同返回 true,否则返回 false
console . log( arguments . callee == fun ); // true
例:
function fun(){
console . log( arguments instanceof Array ); // 判断 arguments 是否是数组
console . log( Array . isArray( arguments ) ); // 判断 arguments 是否是数组
console . log( arguments . length ); // fun 函数实参的长度
}
fun( );
最新文章
- 一劳永逸:域名支持通配符,ASP.NET Core中配置CORS更轻松
- 0c-40-ARC下多对象内存管理
- Qt入门(4)——Qt常见控件
- PL/SQL客户端连接虚拟机(linux)下的oracle服务器配置
- Redis分布式锁的try-with-resources实现
- scala的input
- web框架开发-模板层
- Python_%---format_43
- Ubuntu16.04中nginx除80之外其他端口不能访问
- Git 子模块 - submodule(转)
- Nginx模块开发与架构解析(nginx安装、配置说明)
- 结合sklearn的可视化工具Yellowbrick:超参与行为的可视化带来更优秀的实现
- oracle 如何查看当前用户的表空间名称
- pcre库
- adb logcat介绍
- 【CSS】定位层
- 从url到页面加载浏览器做了什么?
- ibatis.net:在VS中支持xml智能提示
- order by having group by
- block本质探寻三之block类型