js笔记之函数的arguments对象的学习
来源:互联网 发布:godaddy域名绑定阿里云 编辑:程序博客网 时间:2024/06/05 08:59
js中参数分为形参和实参,下面直接上代码来讲解。
来看以下一个简单的js函数
1.什么是形参和实参?
//函数中的abcd为形参
function test(a,b,c,d)
{
return a+b;
}
alert(test(10,20));//这里的实数为实参
2.arguments对象
函数的实际参数内部就是用一个数组去接受函数的实际参数;
arguments 对象 可以访问函数的实际参数;
只能在函数的内部访问和使用
3.以上面函数为例
function test(a,b,c,d)
{
alert(test.length);//返回函数的形参的个数
alert(arguments.length)//返回函数实际参数的个数
alert(arguments.callee.length);//返回形参的个数
return a+b;
}
4.函数中多以arguments.length与arguemnts.callee.length来判断形参和实参的个数。
也许函数可以这样写
function test(a,b,c,d)
{
if(test.length==4)
return a+b+c+d;
else
return '参数个数不匹配';
}
与
function test(a,b,c,d)
{
if(test.length==arguments.length)
return a+b+c+d;
else
return "参数个数不匹配'
}
咋一看这两种写法一样,但是第一种就不太利于扩展,假设关于参数个数的比较还有很多,而你写的数字又是死的,一旦要改就动全部,所以第二种就不用这么麻烦了。
5.arguments.callee来代替函数自身,来看以下一个例子
function fact(num)
{
1.if(num<1) return 1;
2.return num*fact(num-1);
}
咋一看没什么问题,那么我们来执行一下这个操作,看看会有什么问题发生。
var F = fact ;
fact = null;
alert(F(5));
在第2行会报错,因为fact被置空了
因此下面的这种写法便会改善这种问题
function fact(num)
{
1.if(num<1) return 1;
2.return num*arguments.callee(num-1);
}
- js笔记之函数的arguments对象的学习
- JS的arguments对象
- js 的 arguments 对象
- js的arguments对象
- 函数的arguments对象
- javascript对象arguments的学习笔记
- js arguments对象的用法
- js、函数、对象、arguments
- 【JS--基础--函数】--隐含参数对象arguments的callee 属性
- js 函数的参数 问题 arguments对象 及闭包
- JS学习笔记-函数对象的方法
- 【学习-水滴石穿】 JavaScript用arguments对象访问函数的参数
- js arguments对象的简单理解
- js中的arguments对象的使用
- js-----arguments一个特别的对象
- JS函数的参数(arguments)的使用
- JS函数的参数(arguments)的使用
- JS函数的参数(arguments)的使用
- Error Code: 1360 - Trigger does not existQuery
- Emacs添加行号
- LeetCode Decode Ways
- 洞悉linux下的Netfilter&iptables
- Java中的反射学习
- js笔记之函数的arguments对象的学习
- acdream 1686(数学)
- ubuntu电脑使用Adroid手机中的<USB共享网络>上网
- 洞悉linux下的Netfilter&iptables --- 2
- ssh命令用于远程登录上Linux主机
- Introduction to programming with OpenCV
- 自增自减运算符
- 洞悉linux下的Netfilter&iptables ---------- 3
- CSDN 问底 栏目