Javascript可变长度参数列表 - Arguments对象

简介: 在一个函数体内,标识符arguments具有特殊含义. Arguments对象是一个类似数组的对象 eg: 验证函数参数的正确数目 function f(x, y, z) { if (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);
}

 

 

目录
相关文章
|
1月前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
37 2
|
4天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
3天前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
16 7
|
4天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
28天前
|
存储 JavaScript 前端开发
JavaScript 对象的概念
JavaScript 对象的概念
35 4
|
26天前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
29 1
|
27天前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
15 2
|
27天前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
15 2
|
30天前
|
JavaScript 前端开发 Unix
Node.js 全局对象
10月更文挑战第5天
21 2
|
1月前
|
存储 JavaScript 前端开发
js中的对象
js中的对象
18 3