JS随笔:arguments的一些用法

    技术2023-04-12  81

    arguments的一些用法

    在学习的过程中写这篇文章,总结一些学习arguments的一些用法

    1. arguments.length

    这个用法是基础的用法

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

    输出结果:name,age

    这个例子用了argumens.length的实参参数长度和指代实参参数的功能

    2. arguments.callee

    arguments.callee的作用:找到自身的引用。

    接下里我会用阶乘的方法来说明 <1>普通方法计算阶乘,有函数名称,利用函数名称找到自身的引用

    function fn(n){ if (n==1){ return 1; } return n * fn(n-1); } var a = fn(10); console.log(a);

    这里因为有了函数名fn所以直接可以引用。

    <2>进阶方法:利用arguments.callee,不写函数名称找到自身的引用

    var num= (function (n){ if(n==1){ return 1; } return n * arguments.callee(n-1); }(20))

    这里利用立即执行函数和arguments.callee。

    argumnets.callee直接引用了这个函数,解决了无函数名称的引用问题

    总结: 1.arguments.length为函数实参个数,arguments.callee引用函数自身。

    2.无论是arguments.length还是arguments.callee都是解决‘替代’的问题

    Processed: 0.013, SQL: 9