JavaScript函数内置对象arguments

一:arguments是什么?

在js中,每一个函数都会内置一个arguments对象。
百度百科中这样介绍:arguments对象的介绍

二:为什么要使用argument对象?

因为在实际开发中,我们并不知道用户传入的实际参数的个数,这样在方法的声明上,也无法确定形式参数的个数。面对这样的情况:我们可以用arguments对象获取所有的实际参数。

 function fun2(){
     
            console.log(arguments);
 }
 fun2(1,2,3,4,5);

根据运行结果我们发现:arguments对象展现的形式和数组一样。

1.结论:arguments对象是一个伪数组。因为arguments对象具备数组长度属性length;而且还可以通过索引的方式存储和访问数据。

		 function fun1(){
     
            console.log(arguments);
            console.log(arguments[0]);
            console.log(arguments.length);
            // 循环获取伪数组中的值
            for (var i = 0; i < arguments.length; i++) {
     
                console.log(arguments[i]);
            }
        }
        // console.log(fun1(1,2,3,4)); // 函数没有返回值,则返回undefined
        fun1(1,2,3,4);

2.伪数组的特点:

  • 具备数组长度属性length。
  • 可以通过索引的方式存储和访问数据。
  • 不具有数组的一些其它方法 pop()、push()。

三:arguments对象的使用

1.利用函数求任意个数的最大值

		function getMax(){
     
            // 由于不知道用户传入的实参个数,所以用到arguments对象
            var max = arguments[0];
            for (var i = 0; i < arguments.length; i++) {
     
                if (arguments[i] > max) {
     
                    max = arguments[i];
                }
            }
            return max;
        }
        console.log(getMax(1,2,3,4,5));
        console.log(getMax(1,25,36,88,99));
        console.log(getMax(1,35,66,88,41,20));

你可能感兴趣的:(js)