<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../unitl/test.js"></script>
<style>
#results li.pass {color:green;}
#results li.fail {color:red;}
</style>
</head>
<body>
<ul id="results"></ul>
</body>
<script> //完全没有任何显式参数的函数
function sum() { var sum = 0; //迭代所有传入参数,然后通过索引标记获取每个元素的值
for (var i=0; i<arguments.length; i++) { sum += arguments[i]; } return sum; } //调用函数并传入任意数量的参数
assert(sum(1,2)===3,"We can add two numbers");
assert(sum(1,2,3)===6,"We can add threee numbers");
assert(sum(1,2,3,4)===10,"We can add four numbers"); </script>
</html>

这个例子我们首先定义了一个没有显式任何参数的sum函数,尽管如此,我们依然可以通过arguments对象访问所有的函数参数。

遍历所有的参数即可他们的和。大功告成,我们现在可以调用函数并传入任意数量的参数,接着我们通过测试几种情况来看看一切是否正常。这正是arguments对象的魅力所在。我们可以通过他编写更多样,更灵活的函数来轻松应对各种不同的情况。

注意

      大多数情况下可以使用剩余参数(rest parameter)来代替arguments参数,剩余参数是整整的Array实例,也就是说你可以在他上面直接使用所有的数组方法。这对相对于arguments对象而言是个优势。

理解函数调用_使用arguments参数对所有函数参数执行操作的更多相关文章

  1. C语言_结构体变量指针做函数参数的使用案例

    # include <stdio.h> # include <stdlib.h> # include <string.h> # include <malloc ...

  2. JavaScript中匿名函数循环传参数(不触发函数的执行)

    我们都知道定义函数的方式有两种,一种是函数声明,另一种是函数表达式,函数声明的语法是这样的: function functionName(arg0, arg1, arg2) { // 函数体 } 函数 ...

  3. JS中函数参数和函数返回值的理解

    函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能 ...

  4. (转)用库函数stdarg.h实现函数参数的可变

    原文地址:https://blog.csdn.net/jinkui2008/article/details/1967055 #define _INTSIZEOF(n)   ( (sizeof(n) + ...

  5. Javascript基础系列之(七)函数(argument访问函数参数)

    argument是javascript中函数的一个特殊参数,例如下文,利用argument访问函数参数,判断函数是否执行 <script type="text/javascript&q ...

  6. python 函数参数的传递(参数带星号的说明)

    python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...

  7. Python学习-函数,函数参数,作用域

    一.函数介绍 函数定义:函数时组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 我们已经知道python提供了许多内建函数,print(), type()等.我们也可以自己创建函数,这被叫 ...

  8. Python基础:10函数参数

    局部命名空间为各个参数值创建了一个名字,一旦函数开始执行,就能访问这个名字了. 在函数调用时,有非关键字参数和关键字参数之分,非关键字参数必须位于关键字参数之前. 在函数定义时,严格的顺序是:位置参数 ...

  9. ES6之函数参数

    ES6中对于函数参数主要增加了以下内容: 1.参数的扩展/数组的展开: 2.默认参数. 什么是参数的扩展? 看下面代码: <!DOCTYPE html> <html lang=&qu ...

  10. Spring MVC-从零开始-@RequestMapping结合@RequestParam (从HTTP键值对中取值,作用于函数参数)

    1.@RequestParam 注解使用的时候可以有一个值,也可以没有值:如果请求参数和处理方法参数的名称一样的话,@RequestParam 注解的 value 这个参数就可省掉了:@Request ...

随机推荐

  1. js 判断条件分支优化

    优化前: 1.简单分支优化: 2.复杂分支优化: 3.抽离分支:

  2. k8s升级导致hostPath type check failed

    一.问题背景 当前Cluster K8s Version: v1.17.4 需要升级到K8s Version:v1.19.3 在升级过程中,有个Pod卡在ContainerCreating状态 api ...

  3. Burpsuite 资料整理

    Burpsuite 资料整理, 整到一起比较方便.大家有更多关于Burpsuite的Tip请一起增量.谢谢! 插件 序号 名称 功能 参考文档 1 Turbo intruder 并发 https:// ...

  4. SQL server自动创建日历表。

    做日报功能需要统计每个月的上班天数,节假日因为每年的日期都不一样,所以需要自己手动更新这些节假日 1:首先先自动创建一个日历表,选择开始年月日和结束的年月日 不要同时执行,先执行创建表之后CREATE ...

  5. PVE使用vlan

  6. [洛谷/题目] P1562 还是N皇后

    声明 关于科学道理都会放进代码中,但是我们需要先了解一下位运算解这道题目的基础知识 我不是很会专业词语,所以仅介绍原理 位运算基础 众所周知,二进制是0和1 2^3 2^2 2^1 2^0 8 4 2 ...

  7. Docker 安装 PHP+Nginx

    安装Nginx docker pull nginx 安装PHP docker pull php:7.3.5-fpm 启动PHP-FPM docker run --name myphpfpm -v /d ...

  8. IEEE 802.66( WiMax)的衰亡

    1.什么是WiMax WiMAX全称为,World Interoperability for Microwave Access,即全球微波接入互操作性,是一项基于IEEE 802.16标准的宽带无线接 ...

  9. 【vcpkg】使用vcpkg安装库

    https://blog.csdn.net/cjmqas/article/details/79282847 使用vcpkg 查看vcpkg支持的开源库列表 执行命令 .\vcpkg.exe searc ...

  10. java的jvm学习