【JavaScript】——argument

JavaScript允许函数有不定数目的参数,所以我们需要一种机制,可以在函数体内 部读取所有参数。这就是arguments对象的由来,我将详细介绍Javascript中的arguments对象和使用方法。

 

其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中国每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。

 

arguments他的特性和使用方法

特性:

arguments对象和Function是分不开的。因为arguments这个对象不能显式创建,arguments对象只有函数开始时才可用。

 

arguments使用方法

通过方括号语法访问每一个元素

 

1

2

3

4

5

6

7

8

9

var fun = function(one) {

 console.log(arguments[0]);

 console.log(arguments[1]);

 console.log(arguments[2]);

}

fun(1, 2, 3)

// 1

// 2

// 3

通过length属性,查看到底要几个参数

 

1

2

3

4

5

6

function fun() {

 return arguments.length;

}

fun(1, 2, 3) // 3

fun(1) // 1

fun() // 0

参数赋值(“严格模式下不允许”)

 

1

2

3

4

5

6

var fun = function(a, b) {

 arguments[1] = 2;

 return a + b;

}

fun(1, 1)

// 3

 

 

 

我们知道每一个对象都有自己的属性,arguments对象也不例外,首先arguments的访问犹如Array对象一样,
用0到arguments.length-1来枚举每一个元素。下面我们来看看callee属性,返回正被执行的Function 对象,
也就是所指定的 Function 对象的正文。callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。
callee 属性的初始值就是正被执行的 Function 对象,这允许匿名的递归函数。
var sum=function(n){

   if(1==n) {

   return 1;

  } else {

  return n - arguments.callee(n-1);

  }

}

alert(sum(6));

 通俗一点就是,arguments此对象大多用来针对同个方法多处调用并且传递参数个数不一样时进行使用。根据arguments的索引来判断执行的方法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值