函数arguments讲解

简介: 函数arguments讲解

 

// 总结:1- 函数内部有一个实参 arguments 可以获取所有的实参。    

//2- arguments是一个伪数组,如果要使用数组的方法, 将它转为真数组

 

// 3-arguments 是一个属性,callee指向函数本身的,arguments.callee输出函数本身,如下

 

// 4-arguments只能在函数内部被访问.

 

// 5-arguments和函数的形参是对应的。可以在内部修改值 可以直接修改或者通过下标来修改


 function sum(num1,num2){
            console.log(arguments); //输出 Arguments的属性
            console.log(arguments.callee); //输出函数本身  如下
       }
       sum(1,2);


1425695-20190923220957204-1928221963.png

// 利用arguments.leength求出所有实参的和
    function he(){
        var len=arguments.length;
        var result=0;
        for(var i=0;i<len;i++){
            result+=arguments[i]
        }
        return result;
    }
   console.log( he(1,2,3,4,566,-111)); //465
  //对于求和,先定义一个初始值,然后累计相加


// 2.arguments有什么用? 模拟重载的。可以通过arguments参数不同,来做不同的事情


//    重载: js中没有重载。


//    js中,如果声明的函数是重名的,那么后面的函数会把前面的函数给覆盖了。


//    重载:其他语言中,允许函数重名,根据参数的不同(个数、类型、顺序)从而来区分到底调用的是那一个


function test(){
        if(arguments.length == 2){
          //执行这个代码1。做相加
        }else if(arguments.length == 3){
          //执行这个代码2。做相减
        }else {
        //执行这个代码3。
        }
     }
     test(10,20); //执行这个代码1。相加
     test(10,20,30); //执行这个代码3。//相减
相关文章
|
1月前
arguments,callee&caller
arguments,callee&caller
30 3
|
中间件
解构如何运用的解构--报错 throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
解构如何运用的解构--报错 throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
解构如何运用的解构--报错 throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
|
6月前
|
JavaScript 前端开发
参数(Parameters)与隐式参数(Arguments)
参数(Parameters)和隐式参数(Arguments)是 JavaScript 中两个重要的概念,它们都与函数的调用有关。参数是函数定义时在函数名后的括号内声明的变量,用于接收从调用函数处传递过来的值。而隐式参数是一个函数在调用时,自动创建的一个对象,包含了所有传递给该函数的参数的值。
90 6
|
6月前
|
Python
完美解决丨TypeError: fun() takes 2 positional arguments but 3 were given
完美解决丨TypeError: fun() takes 2 positional arguments but 3 were given
解决TypeError: __init__() takes from 1 to 3 positional arguments but 6 were given
解决TypeError: __init__() takes from 1 to 3 positional arguments but 6 were given
435 0
解决TypeError: __init__() takes from 1 to 3 positional arguments but 6 were given
|
缓存
Cannot resolve symbol 'R' 解决的几种方法
Cannot resolve symbol 'R' 解决的几种方法
595 0
Cannot resolve symbol 'R' 解决的几种方法
|
测试技术 C语言
Function(函数)
Function(函数)
99 0
|
JavaScript 网络架构 索引
Arguments 对象与简易柯里化
Arguments 对象与简易柯里化
165 0
|
Python
Python-类-函数参数-takes 0 positional arguments but 1 was given
在学习Python基础的时候,在创建某一个shownametest()函数,解析器会报错
485 0
|
算法
arguments.callee
在函数内部,有两个特殊的对象:arguments 和 this。其中, arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,该属性是一个指针,指向拥有这个 arguments 对象的函数。
1015 0