zoukankan      html  css  js  c++  java
  • Javascript可变长度参数列表 - Arguments对象

    在一个函数体内,标识符arguments具有特殊含义.

    Arguments对象是一个类似数组的对象

    eg:

    验证函数参数的正确数目

    function f(x, y, z) {
      if (arguments.length != 3) {
        throw new Error("function with " + arguments.length +
            "arguments, but it expects 3 arguments.")
        
        // now do the actual function
      }        
    }

    eg:

    简单的max函数能接受任意数目的实际参数

    function max() {
        var m = Number.NEGATIVE_INFINITY;
        for (var i = 0; i  < arguments.length; i++) {
            if (arguments[i] > m) m = arguments[i];
        }
        
        return m;
    }

    var largest = max(1, 100, 92, 8, 5, 108);

    arguments还定义了callee属性,用来引用当前正在执行的函数

    eg:

    计算阶乘的函数

    function f(x) {
        if (x <= 1) return 1;
        
        return x * arguments.callee(x - 1);
    }
  • 相关阅读:
    ACM 一种排序
    ACM Binary String Matching
    ACM 括号配对问题
    ACM BUYING FEED
    ACM 喷水装置(二)
    ACM 会场安排问题
    ACM 推桌子
    ACM 心急的C小加
    ACM 田忌赛马
    ACM 疯牛
  • 原文地址:https://www.cnblogs.com/davidgu/p/3350004.html
Copyright © 2011-2022 走看看