JavaScript函数_02函数内部的隐藏参数

2017-03-03  本文已影响4人  凸小布

01 arguments

arguments:接受实参
该参数是一个类似于数组的结构,但是并不是数组。
注:(可以像数组一样遍历 + 还可以使用下标来访问数据)
注意点:
01 函数调用的时候,会把实参的值赋值给形参,而且会使用arguments来接收实参
02 如果实参的个数超过形参的个数,那么可以通过arguments来获取超出的数据
03 如果实参的格式小于形参的个数,那么不足的全部设置为undefined

<script>
    function sum(){
        var result = 0;
        for (var i = 0; i < arguments.length; i++) {
            result += arguments[i];
        }
        console.log(result);

        // 判断arguments 的类型,不是数组,类似数组
        console.log(Array.isArray(arguments)); //false
        console.log(Object.prototype.toString.call(arguments)); //[object Arguments]
    }
    sum(1, 2, 3, 4, 5);
</script>

02 length

length属性
01 arguments.length 实参长度(个数)
02 函数名.length 形参的长度(个数)

01 函数调用的时候,会把实参的值赋值给形参,而且会使用arguments来接收实参

02 如果实参的个数超过形参的个数,那么可以通过arguments来获取超出的数据

<script>
    function demo(a, b, c){
        // 获得实参的个数
        console.log(arguments.length);

        //通过arguments来获取超出的数据
        console.log(arguments[demo.length]);
    }
    demo(1, 2, 3, 4, 5);
    console.log(demo.length);
</script>

03 如果实参的格式小于形参的个数,那么不足的全部设置为undefined

<script>
    function demo(a, b, c){
        console.log(arguments.length);
        console.log(a, b, c); //1 2 undefined
    }
    demo(1, 2);
</script>
上一篇 下一篇

猜你喜欢

热点阅读