arguments.callee(Javascript应用arguments和callee的玩法)

一、简介:实参:函数调用时传递的参数; 形参:函数定义的接收的参数; 场景:参数从左向右匹配,若实参少于形参,后面的参数为undefined(未定义),若实参多与形参,则后面的参数可以用augumen...

一、简介:实参:函数调用时传递的参数; 形参:函数定义的接收的参数; 场景:参数从左向右匹配,若实参少于形参,后面的参数为undefined(未定义),若实参多与形参,则后面的参数可以用auguments来获取; Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。(arguments.length为函数实参个数,arguments.callee引用函数自身)

Javascript应用-arguments和callee的玩法

image.png

Javascript应用-arguments和callee的玩法

image.png

arguments.callee与形参是一 一 映射

Javascript应用-arguments和callee的玩法

image.png

Javascript应用-arguments和callee的玩法

image.png

二、特点

1.arguments对象和Function是分不开的。

2.因为arguments这个对象不能显式创建(自带的)。

3.arguments对象只有函数开始时才可用。

三、使用方法

虽然arguments以数组方式进行访问,例如:arguments[0],arguments[1],。。。arguments[n]

例如:

function test() { var s = ""; for (var i = 0; i < arguments.length; i++) { alert(arguments[i]); s += arguments[i] + ","; } return s;}test("name", "age");输出结果:name,age

我们知道每一个对象都有自己的属性,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); //6 5 4 3 2 1 } } alert(sum(6));输出结果:21

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

  • 发表于 2023-02-06 12:31
  • 阅读 ( 268 )
  • 分类:行业新闻

0 条评论

请先 登录 后评论
青年创业网
青年创业网

464 篇文章

感兴趣的文章

相关问题