javascript学习之 function类型 (27)——function类型 内部属性

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();

结果:
这里写图片描述

结果是 :函数会调用内部的局部变量


个人微信公众号:

这里写图片描述


如果我的文章对您有帮助,微信或支付宝打赏:

微信:
这里写图片描述


支付宝:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/SundayAaron/article/details/54911508