美文网首页
function 函数类型之arguments对象

function 函数类型之arguments对象

作者: 程咸菜 | 来源:发表于2016-10-11 13:17 被阅读0次

function 下
function 就是函数,函数就是一段代码,这个没啥好说的,我们把函数起个名字,然后放起来,想用的时候再调用。JavaScript 中有很多内置的函数,比如 alert() document.write() 之类的函数。

函数的内部属性

在函数的内部 有两个特殊的对象, argumentsthis

arguments 对象

arguments 对象是一个类数组的对象,它包括传入函数中的所有的对象,主要用途是保存函数的参数。这个对象含有一个 callee 属性,是一个指针属性,指向有 arguments 对象的函数。
我们来看一个阶乘递归 factorial 的小例子:

function factorial(num){
if(num <=1 ){
    return 1;
}else {
    return num * factorial(num-1);//阶乘,递归
}
}
document.write(factorial(5)+"<br/>");
document.write(factorial(6)+"<br/>");     

在上述的代码中,如果我们修改了函数名 factorialsum 那么就是要同时修改递归调用的函数名 num * factorial(num-1);num * sum(num-1); 如果有很多个递归调用函数的话逐一修改是不理智的行为,我们这时候需要用 arguments.callee 属性。对于阶乘函数一般会用到递归算法,函数内部一般会调用自身,这时候函数名不改变没问题,一旦函数名改变那么函数内部的函数名就是要逐一修改,处理起来很麻烦,这时候就需要我们之前提及的 arguments.callee 属性。我们把代码复制下来。看看 arguments.callee 怎么使用。

function factorial(num){
if(num <=1 ){
    return 1;
}else {
    return num * arguments.callee(num-1);//阶乘,递归
}
}
document.write(factorial(5)+"<br/>");
document.write(factorial(6)+"<br/>");     

结果和上面的没啥区别, arguments.callee 就是实现了动态的调用自身。
This 感觉有点多,单独开一篇文章

相关文章

  • function 函数类型之arguments对象

    function 下function 就是函数,函数就是一段代码,这个没啥好说的,我们把函数起个名字,然后放起来,...

  • 继承

    Function类型 函数的定义 函数的内部属性 callee:该属性指向拥有这个arguments对象的函数 c...

  • JS之Function类型理解

    JS之Function类型理解 简述 函数实际上也是对象,每个函数都是Function对象的实例,因此,函数名是一...

  • 05.Object函数

    JavaScript函数是引用类型(对象类型),所以Function函数也是对象 2."Function构造函数"...

  • 【JS】arguments那些事

    arguments对象 arguments对象是function(非箭头函数)中一个特殊的局部变量。在ECMA26...

  • JavaScript引用类型Function实例详解

    Function类型 函数是对象,函数名是指针:每个函数都是Function类型的实例。由于函数是对象,因此函数名...

  • JavaScript 数据类型2

    数据类型 函数 4.5 arguments 对象 定义 与数组的关系 calle 属性arguments对象带有一...

  • function 函数类型之this对象

    function 函数类型 this this 是 function 函数内部的一个特殊的对象。其行为和 Java...

  • 模拟实现ES5中原生bind函数

    一.arguments的含义 arguments是一个对应于传递给函数的参数的类数组对象 二. Function....

  • 第五章(4):Function

    Function 类型 函数即对象,函数名即指针。每个函数都是Function类型的实例。函数名就是一个指向函数的...

网友评论

      本文标题:function 函数类型之arguments对象

      本文链接:https://www.haomeiwen.com/subject/lnqbyttx.html