<!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对象而言是个优势。

最新文章

  1. SVN 提交报错:&#215;&#215;&#215;文件is not under version control
  2. 如何使用Worktile进行敏捷项目开发管理
  3. Java基础-重写方法
  4. C——整型提升
  5. PowerShell命令卸载Win10内置应用
  6. 学生管理系统&lt;分层开发&gt;
  7. BLOCK的应用
  8. angular语法:Controller As
  9. Net数值计算MathNet.Numerics类库
  10. Linux文件目录结构说明
  11. 苹果电脑出现 .DS_Store文件,删除不掉怎么处理?
  12. matlab的常用快捷键
  13. Java学习日记 集合
  14. grails项目中(DB的相关操作)
  15. PHP 加解密方法大全
  16. java8_api_集合框架
  17. export 和import使用
  18. python第四十三课——封装性
  19. canvas转图片
  20. 007-对象—— static静态方法属性内存构成及使用方法讲解

热门文章

  1. Transformers Pipelines
  2. About TopoJSON
  3. 看不见的的html
  4. Linux系统目录及说明
  5. 26_自定义Loader
  6. Linux程序设计
  7. 实用的JavaScript技巧
  8. 模型admin 外键的相关操作
  9. 使用pip安装PySide6
  10. js——带暂停、启动功能的定时