js中arguments的用法
js中arguments的用法
js中arguments的用法arguments特性
arguments对象不能显式创建,arguments对象只有函数开始时才可用。函数的 arguments 对象并不是一个数组,访问单个参数的方式与访问数组元素的方式相同。索引 n 实际上是 arguments 对象的 0…n 属性的其中一个参数。
在javascript中,不需要明确指出参数名,就能访问它们。如:
function hi(){
if(arguments[0]=="andy"){
return;
}
alert(arguments[0]);
}
arguments的length属性
含义
返回调用程序传递给函数的实际参数数目。
用法
[function.]arguments.length
其中可选项 function 参数是当前正在执行的 Function 对象的名称。
说明
当 Function 对象开始执行时,脚本引擎将 arguments 对象的 length 属性初始化为传递给该函数的实际参数数目。
js不会主动为你判断你到底给函数传了多少个参数,如果你多传了,多余的部分就没有被使用,如果你少传了,那么没传的参数值就是undefined
所以我们可以借助arguments的length属性来检测调用函数时是否使用了正确数目的实际参数,因为javas
arguments 的 0...n 属性
含义
返回一个 arguments 对象中的各个参数的实际值,相应的值是由一个正在执行的函数的 arguments 属性返回的。
用法
[function.]arguments[[0|1|2|...|n]]
参数
function
可选项。当前正在执行的 Function 对象的名称。
0, 1, 2, …, n
必选项。0 到 n 范围内的非负整数,其中 0 代表第一个参数而 n 代表最后一个参数。最后参数 n 的值为 arguments.length-1
说明
0 . . . n 属性所返回的值就是传递给正在执行的函数的实际值。尽管实际上并不是一个参数数组,您还是可以按照与访问数组元素的方法相同的方式访问组成 arguments 对象的各个参数。
示例
下面的例子演示了 arguments 对象的 0 . . . n 属性的用法
function ArgTest(){
var s = "";
s += "The inliidual arguments are: "
for (n=0; n< arguments.length; n++){
s += ArgTest.arguments[n];
s += " ";
}
return(s);
}
print(ArgTest(1, 2, "hello", new Date()));
arguments的callee属性
含义
表示对函数对象本身的引用,也就是所指定的 Function 对象的正文,这有利于实现无名函数的递归或者保证函数的封装性。
用法
[function.]arguments.callee
可选项 function 参数是当前正在执行的 Function 对象的名称。
说明
callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。
callee 属性的初始值就是正被执行的 Function 对象。这允许匿名的递归函数。
实例:
用递归来计算1到n的自然数之和:
<script>
var sum=function(n){
if(1==n) {
return 1;
} else {
return n + arguments.callee(n-1);
}
}
alert(sum(100));
</script>
- 百度地图获取api过程(JavaScript接入百度地图API的方法步骤)
- js三级联动说明(基于JavaScript实现省市联动效果)
- 浏览器怎么显示javascript页面(JavaScript如何通过userAgent判断几个常用浏览器详解)
- javascript文件解压(JavaScript 如何在线解压 ZIP 文件)
- javascript 数据分析(利用JavaScript差集实现一个对比小工具)
- javascript类型转换讲解(JavaScript数据类型转换详解推荐)
- html注册表单验证代码(JavaScript+html实现前端页面随机二维码验证)
- JavaScriptSerializer对Json对象的序列化和反序列化
- js怎么做一个计时器(JavaScript实现简单计时器)
- javascript如何判断类型(JavaScript如何优化逻辑判断代码详解)
- JavaScript中使用concat合并数组
- javascript中window对象
- js使用canvas(JavaScript canvas实现七彩时钟效果)
- javascript如何建立一个静态变量(JavaScript中子函数访问外部变量的3种解决方法)
- JavaScript命名空间
- javascript中还原append代码(JS实现jQuery的append功能)
- 成功破圈,小牛电动SQi强势开 跨(小牛电动SQi强势开)
- 挑战新国标电自天花板,九号机械师MMAX 110P深度体验(挑战新国标电自天花板)
- 《满江红》不要只当电影看,学生应该这样做(满江红不要只当电影看)
- 电影《民间怪谈录之走阴人》定档8月5日,开启一场中式惊悚之旅(电影民间怪谈录之走阴人定档8月5日)
- 原创图画书,以儿童视角讲述中国故事(以儿童视角讲述中国故事)
- 八月再见 愿你岁月不扰,余生静好(八月再见愿你岁月不扰)
热门推荐
- dedecms怎么设置下拉菜单(dedecms中关于{dede:channel type='son'}无子栏目时取同级栏目问题是解决方法分)
- php实用工具(php常用的工具开发整理)
- sqlserver设置自动备份的注意事项(SQL server 定时自动备份数据库的图文方法)
- nginx配置详细讲解(Nginx服务快速入门教程)
- mysql设置updatetime自动更新(mysql 实现添加时间自动添加更新时间自动更新操作)
- 腾讯云服务器如何安装宝塔面板(腾讯云服务器打开宝塔面板失败是怎么回事?)
- amaze如何创建作品(AmazeUI 网格的实现示例)
- sqlserver存储删除过程(Sql中存储过程的定义、修改和删除操作)
- 什么是web服务器(什么是网站服务器?服务器是做什么用的?)
- sql语句执行顺序
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9