arguments

arguments

概述:

arguments 是对象的一个特殊属性。arguments对象就像数组,但是它却不是数组。

argument 对象包含了函数调用的参数数组,通过这种方式你可以很方便的找到最后一个参数的值。

 arguments是函数的里面的所有参数的集合,它是一个伪数组(具备数组特性 有下标 有length(长度))。

 

1:arguments是收到的实参副本
在词法分析中, 首先按形参形成AO的属性,值为undefined
当实参传来时, 再修改AO的相应属性.
2:并把所有收到实参收集起来,放到一个arguments对象里
t(a,b,c){},
调用时: t(1,2,3,4,5) 5个参数
此时 , AO属性只有a,b,c,3个属性, arguments里有1,2,3,4,5, 所有的值
复制代码
function fn() {
    //所有的函数都具备arguments  arguments特殊的值里面包含所有的参数
    console.log(arguments)
    //获取arguments里面的参数的第一个 arguments[下标] 来获取对应的下标的值
    console.log(arguments[0]);
    //查询当前arguments的长度 arguments.length
    console.log(arguments.length);
}
//对应的下标从0开始 0表示第一个 最大值 对应的长度-1   length 当前的个数-1
fn(1, 2, 3, 4, 5)
复制代码

 

属性

length, 获取arguments对象的长度。
callee, 引用当前正在执行的函数。

 

传入任意的数值来取出它的和

复制代码
function sum(){
    //获取所有的参数 数值
    var result = 0
    //遍历arguments里面的所有的数值
    for(var i =0;i<arguments.length;i++){
        result += arguments[i]
    }
    return result
}
console.log(sum(1,2,3,4,5))
复制代码

 

参数的长度

window.onload = function(){
abc(1,2,3);
}
function abc(){
//虽然这里没有引用参数,但是arguments仍能捕获到
alert(arguments.length);
}//output 3

 

隐藏的参数

function abc(x,y){
alert(x+","+y);//output:1,2
for(var i=0;i<arguments.length;i++){
alert(" "+arguments[i]);//output:1 2 3
}
}

 

改变参数值

function abc(x,y,z){
arguments[2] = "hello";
for(var i=0;i<arguments.length;i++){
alert(" "+arguments[i]);
}
}//output: 1 2 hello

 

使用arguments来获取对应的值的时候 我们一般不写形参

arguments使用的相关
  • arguments通过[下标] 来返回对应的元素

  • arguments的length属性表示传入参数的个数

 

posted @   後楓浪  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示