JavaScript中使用arguments获得函数传参个数实例


Posted in Javascript onAugust 27, 2014

JS与PHP在函数传参方面有点不同,PHP形参与实参个数要匹配,而JS就灵活多了,可以随意传参,实参比形参少或多都不会报错。

实参比形参多不会报错

function say(a){
   alert(a); 
}
 
say('琼台博客','WEB技术博客');

执行结果

JavaScript中使用arguments获得函数传参个数实例

我们再来看看形参比实参多的结果

function say(a,b){
   alert('a 的值是 '+a+'\nb 的值是 '+b); 
}
 
say('琼台博客');

执行结果

JavaScript中使用arguments获得函数传参个数实例

a 对应第一个实参“琼台博客”,b 没有对应的实参所以值为undefined

arguments对象

其实有时候我们在程序设计比较复杂的时候并不指定参数个数,都是灵活运用。在函数里有一个数组arguments就是专门存储实参数组的,通过arguments我们就可以知道实参个数以及值。

function arg(){
    var str = '总共传了'+arguments.length+'个参数\n';
    for(var i=0;i<arguments.length;i++){    
        str += '第'+(i+1)+'个参数值:'+arguments[i]+'\n'; 
    }
    alert(str);
}
arg('琼台博客','PHP博客','WEB技术博客');

执行结果

JavaScript中使用arguments获得函数传参个数实例

在以上例子中,我们定义函数arg并没有给它指定形参,而是使用arguments对象接收实参,非常灵活。

比如我们可以利用它来计算出一组数字里最小的数字,不管这组数字有多少个。如以下代码:

function arg(){
    var tmp = 0, str = '在 ';
    for(var i=0;i<arguments.length;i++){    
        for(var g=0;g<arguments.length;g++){
            if(arguments[g]<arguments[i]){
               tmp = arguments[g]; 
            } 
        }
       str += arguments[i]+',';
    }
    alert(str.substr(0,str.length-1)+' 里最小的值是 '+tmp);
}
arg(200,100,59,3500);

执行 200,100,59,3500  四个数对比结果

JavaScript中使用arguments获得函数传参个数实例

我们在加入两个数,分别是 5 和 60

function arg(){
    var tmp = 0, str = '在 ';
    for(var i=0;i<arguments.length;i++){    
        for(var g=0;g<arguments.length;g++){
            if(arguments[g]<arguments[i]){
               tmp = arguments[g]; 
            } 
        }
       str += arguments[i]+',';
    }
    alert(str.substr(0,str.length-1)+' 里最小的值是 '+tmp);
}
arg(200,100,59,3500,5,60);

执行 200,100,59,3500,5,60 六个数对比结果

JavaScript中使用arguments获得函数传参个数实例

根据两次运算结果,我们发现无论我们传进多少个数字,都能正确比对结果。arguments一般用在实参个数不定的地方,比如上边的例子,你可以传5个数进去比较,也可以传100个数进去比较都可以。

Javascript 相关文章推荐
JavaScript XML和string相互转化实现代码
Jul 04 Javascript
Jquery 的扩展方法总结
Oct 01 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
May 10 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
Dec 11 Javascript
JS实现跟随鼠标立体翻转图片的方法
May 04 Javascript
AngularJS ng-blur 指令详解及简单实例
Jul 30 Javascript
Node.js安装配置图文教程
May 10 Javascript
vue组件学习教程
Sep 09 Javascript
react配合antd组件实现的管理系统示例代码
Apr 24 Javascript
AngularJS上传文件的示例代码
Nov 10 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
ionic3双击返回退出应用的方法
Sep 17 Javascript
JavaScript中输出标签的方法
Aug 27 #Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
Aug 27 #Javascript
JavaScript实现的使用键盘控制人物走动实例
Aug 27 #Javascript
JavaScript截取字符串的2个函数介绍
Aug 27 #Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
Aug 27 #Javascript
jQuery中的read和JavaScript中的onload函数的区别
Aug 27 #Javascript
javascript实现的一个随机点名功能
Aug 26 #Javascript
You might like
解析php中如何直接执行SHELL
2013/06/28 PHP
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
2013/07/01 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
php实现的用户查询类实例
2015/06/18 PHP
php截取视频指定帧为图片
2016/05/16 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
[06:37]2014DOTA2国际邀请赛 昔日王者渴望重回巅峰
2014/07/12 DOTA
python读取csv文件示例(python操作csv)
2014/03/11 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
python机器学习之决策树分类详解
2017/12/20 Python
python实现简易云音乐播放器
2018/01/04 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
抽象类和接口的区别
2012/09/19 面试题
经典演讲稿范文
2013/12/30 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
导游词之上海豫园
2019/10/24 职场文书