<!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 infiltrate(person) { // 检查person参数的值等于gardener,并作为第一个参数被传入。
assert(person==="gardener",'The person is a gardener');
assert(arguments[0]=== 'gardener','The first argument is a gardener'); //改变argument对象的值也会改变相应的参数。
arguments[0] = 'ninja'
assert(person==='ninja','The person is a ninja now');
assert(arguments[0] === 'ninja','The first argument is a ninja'); person = 'gardener'; //这两种方式下,别名都正常工作了。
assert(person==='gardener','The person is a gardener once more');
assert(arguments[0]==='gardener','The first argument is a gardener again'); } infiltrate("gardener"); </script>
</html>

这里可以说明arguments对象是如何作为函数参数别名的。我们定义了一个函数infiltrate,它只接受了一个参数person,接着我们调用他并传入参数gardener。可以同时通过

函数形参gardener。可以同时通过行数形参person和arguments对象访问到参数值gardener。

      assert(person==='gardener','The person is a gardener');
assert(argements[0]==='gardener','The first argument is a gardener');
 因为arguments对象是函数参数的别名,所以如果改变了arguments对象的值,同时也会影响对应函数参数。
    arguments[0] = 'ninja';

   assert(person==='ninja','The person is a ninja now');
assert(arguments[0]==='ninja',"The first argument is a ninja");

避免使用别名

      将arguments对象作为函数参数的别名使用会影响代码的可读性,因此在javaScript提供的严格模式(strict mode)将无法再使用它。

最新文章

  1. jquery 打印宽高
  2. BZOJ 1008 题解
  3. IBatis.Net XML文件配置
  4. 监控页面所有 ajax请求
  5. 如何实现一个通用的IHttpHandler 万能的IHttpHandler HttpWebRequest文件上传
  6. VirtualBox 中ubuntu访问window下共享目录
  7. 30+WordPress古典风格的主题-古典却不失时尚
  8. Django的用户认证
  9. session get和load方法对比
  10. 部署用于生产的Exceptionlees(一个强大易用的日志收集服务)
  11. BZOJ_4627_[BeiJing2016]回转寿司_离散化+树状数组
  12. EasyPR源码剖析(5):车牌定位之偏斜扭转
  13. leetcode 155. Min Stack 、232. Implement Queue using Stacks 、225. Implement Stack using Queues
  14. vue2.0之axios使用详解
  15. CentOS7为php7.2安装php-redis扩展
  16. JavaScript和HTML DOM的区别与联系
  17. JSP创建用户验证的实例
  18. 计蒜客 30999 - Sum - [找规律+线性筛][2018ICPC南京网络预赛J题]
  19. 团队作业之四则运算GUI展示
  20. Linux给目录创建软链接的技巧

热门文章

  1. excel添加下拉列表
  2. Qt6.2 在Ubuntu20下提示 C++ 和 CMake 错误
  3. redis之五种基本数据类型
  4. Veeva_001常见问题总结
  5. 从个人角度谈为什么要使用git多分支?
  6. Chrome禁用开发者工具
  7. url 编码解码
  8. 网站提示:You Don’t Have Permission To Access
  9. Python自动发邮件(QQ为例)
  10. Window10上CLion极简配置教程