博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript的arguements
阅读量:7081 次
发布时间:2019-06-28

本文共 1331 字,大约阅读时间需要 4 分钟。

---恢复内容开始---

arguments 对象

在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。

例如,在函数 sayHi() 中,第一个参数是 message。用 arguments[0] 也可以访问这个值,即第一个参数的值(第一个参数位于位置 0,第二个参数位于位置 1,依此类推)。

因此,无需明确命名参数,就可以重写函数:

function sayHi() {  if (arguments[0] == "bye") {    return;  }  alert(arguments[0]);}

检测参数个数

还可以用 arguments 对象检测函数的参数个数,引用属性 arguments.length 即可。

下面的代码将输出每次调用函数使用的参数个数:

function howManyArgs() {  alert(arguments.length);}howManyArgs("string", 45);howManyArgs();howManyArgs(12);

 

上面这段代码将依次显示 "2"、"0" 和 "1"。

注释:与其他程序设计语言不同,ECMAScript 不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的函数都可以接受任意个数的参数(根据 Netscape 的文档,最多可接受 255 个),而不会引发任何错误。任何遗漏的参数都会以 undefined 传递给函数,多余的函数将忽略。

模拟函数重载

用 arguments 对象判断传递给函数的参数个数,即可模拟函数重载:

function doAdd() {  if(arguments.length == 1) {    alert(arguments[0] + 5);  } else if(arguments.length == 2) {    alert(arguments[0] + arguments[1]);  }}doAdd(10);    //输出 "15"doAdd(40, 20);    //输出 "60"

 

当只有一个参数时,doAdd() 函数给参数加 5。如果有两个参数,则会把两个参数相加,返回它们的和。所以,doAdd(10) 输出的是 "15",而 doAdd(40, 20) 输出的是 "60"。

虽然不如重载那么好,不过已足以避开 ECMAScript 的这种限制。

 

 

 

arguments.length 属性代表实参的个数 求和
function test(){    var paramsNum=arguments.length;//得到传入参数的个数    var sum=0;    for(var i=0;i

 

求最大值
function max(){    var n=arguments.length;    var max=0;    for(var i=0;i
max){ max=arguments[i];} } return max; } alert(max(9,88,3,6));

 

转载地址:http://dqdml.baihongyu.com/

你可能感兴趣的文章
中生代嘉年华 | OKR管理
查看>>
详解让乌克兰总理都“哭泣”的勒索病毒,你到底要不要怕
查看>>
发展人工智能让用户丧失隐私?库克说不
查看>>
视频监控热成像技术在民用领域的广泛应用
查看>>
《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.1 电子商务的发展历史...
查看>>
Light Table —— 多语言集成开发环境
查看>>
换个 timeline 看知乎
查看>>
《UG NX10中文版完全自学手册》——2.6 常用工具
查看>>
《深入理解Hadoop(原书第2版)》——1.5我们能处理多大的数据量
查看>>
《CCNP TSHOOT 300-135认证考试指南》——6.9节三层EtherChannel故障工单
查看>>
Google AI 发明了自己的防窃听加密算法
查看>>
Edge 浏览器新 Bug:SmartScreen 界面或被用来欺诈
查看>>
SlimerJS —— 基于Firefox的网页自动化测试工具
查看>>
《Cisco BGP-4 命令与配置手册》——1-3 aggregate-address address mask
查看>>
《部署IPv6网络(修订版)》一1.2 QoS服务
查看>>
Chrome力推HTTPS:HTTP网站被标注为不安全
查看>>
微软发 Edge 宣传视频:更快更安全的浏览器
查看>>
如何看待开发人员转型做产品经理?
查看>>
Zookeeper的安装部署,zookeeper参数配置说明,集群搭建,查看集群状态
查看>>
《Java多线程编程核心技术》——2.1节synchronized同步方法
查看>>