1、arguments
arguments 属性:指向一个类似数组 但不是数组的对象,存储的是实际传递给函数的参数,而不局限于函数声明所定义的参数列表
示例代码:
function show(a,b)//定义show函数
{
if(arguments.length==2)//如果实际输入两个值
alert(a+b);
else if(arguments.length==3)//如果实际输入3个值
alert(arguments[0]+" "+arguments[1]+" "+arguments[2]);
//弹框输出 输入的三个值
}
show("hello","world","haha");
alert("show函数的长度:"+show.length);
//show函数的长度
效果图:
2、length
length属性:函数定义时所指定参数的个数
3、arguments中的callee
arguments中的callee属性:它表示对函数对象本身的引用
示例代码:
使用递归实现求阶乘
function jie(n) {
if(n==1)
return 1;
else
return n*arguments.callee(n-1);
}
alert(jie(3));
效果图:
callee的优点:
当修改函数名的时候不用再去修改函数内部的函数名,arguments.callee就表示函数对象本身。
4、全局变量和局部变量
定义在函数外部的是全局变量,任何函数都可以使用;
定义在函数内部的是局部变量,只有当前函数可以使用;
示例代码:
var a=1;
function bl() {
var b=2;
}
上述代码中a是全局变量,b是局部变量。
特殊情况:
当局部变量和全局变量名相同,函数会如何执行?
var a=1;
function bl() {
var b=2;
var a=3;
alert(a);
}
bl();
结果:
结果是 :函数会调用内部的局部变量
个人微信公众号:
如果我的文章对您有帮助,微信或支付宝打赏:
微信:
支付宝: