zoukankan      html  css  js  c++  java
  • js function中的arguments属性

    最近在研究 js 的的 function 里的arguments属性。

    arguments是function里面的特殊的对象,包含了传入函数内的所有参数。这个特殊的对象里有一个cellee的属性,用于指向拥有这个arguments对象的函数。

    一下是一个递归的例子:

    function recursion(num) {
        if (num < 1) {
            return 1;
        } else {
            return num * recursion(num - 1);
        }
    }
    

    这是常规的写法,但是如果我把函数名(recursion)换了,里面的名字也要换一次。但是我们可以用arguments对象的cellee属性重新指向拥有arguments的函数:

    function recursion(num) {
        if (num < 1) {
            return 1;
        } else {
            return num * arguments.callee(num - 1);
        }
    }
    

    这就是今天记录的内容。

  • 相关阅读:
    自我介绍
    秋季学期总结
    第七周编程总结
    第六周作业
    第五周编程总结
    第四周编程总结
    第三周作业
    第二周作业
    抓老鼠啊~亏了还是赚了
    币值转换
  • 原文地址:https://www.cnblogs.com/zxdesign/p/2987057.html
Copyright © 2011-2022 走看看