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>
- js获取子表单所有数据(JavaScript实现异步提交表单数据)
- 使用javascript数组循环(JavaScript数组reduce方法的语法与实例解析)
- js搜索功能的实现(前端JavaScript实现本地模糊搜索功能的方法实例)
- javascript如何获取后台数据(JavaScript实现异步获取表单数据)
- js中事件的三个阶段(JavaScript中事件冒泡机制示例详析)
- js绘制平滑路径(如何利用Javascript生成平滑曲线详解)
- javascript学习参数(详解JavaScript堆栈与拷贝)
- javascript 函数生命周期(JavaScript sleep睡眠函数的使用)
- javascript文件解压(JavaScript 如何在线解压 ZIP 文件)
- javascript如何判断类型(JavaScript如何优化逻辑判断代码详解)
- JavaScript中实现AES加密解密
- js原生tab栏切换(JavaScript实现简易tab栏切换案例)
- 用javascript解析json(JavaScript JSON.stringify的使用总结)
- javascriptloop教程(JavaScript中的AOP编程的基本实现)
- JavaScript将具有父子关系的数据转化成树形结构,供tree控件使用
- javascript怎么判断对象类型(JavaScript对象内置对象,值类型和引用类型讲解)
- 给儿童吃什么最好(给儿童吃什么最好消化)
- 杭州旅游攻略()
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
- 各地出招烘 热 旅游(各地出招烘热旅游)
热门推荐
- 阿里云服务器更改登录密码(阿里云服务器怎么修改登录密码?)
- dedecms怎么加页面(dedecms自定义内容模型在首页、列表页及内容调用标签的方法)
- SQL Server中使用order by charindex按指定顺序排序
- python编写自动发送微信信息(python实现向微信用户发送每日一句 python实现微信聊天机器人)
- python数字图像处理入门(python图像处理入门一)
- dedecms滚动代码(dedecms常用sql语句汇总)
- css背景的属性有哪些(简述CSS中的背景属性background)
- pandas如何指定空数据类型(解决Pandas的DataFrame输出截断和省略的问题)
- 浏览器怎么显示javascript页面(JavaScript如何通过userAgent判断几个常用浏览器详解)
- python3d旋转特效(python实现小球弹跳效果)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9