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 相关文章推荐
复制本贴标题和地址的js代码
Jul 01 Javascript
jquery last-child 列表最后一项的样式
Jan 22 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
Apr 24 Javascript
JavaScript实现的MD5算法完整实例
Feb 02 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
微信网页授权并获取用户信息的方法
Jul 30 Javascript
JavaScript的变量声明与声明提前用法实例分析
Nov 26 Javascript
js实现小星星游戏
Mar 23 Javascript
JS原形与原型链深入详解
May 09 Javascript
gojs实现蚂蚁线动画效果
Feb 18 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 组件化编程技巧
2009/06/06 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
简单的Python2.7编程初学经验总结
2015/04/01 Python
python 统计代码行数简单实例
2017/05/04 Python
Python之reload流程实例代码解析
2018/01/29 Python
python实现梯度下降算法
2020/03/24 Python
Python中关于浮点数的冷知识
2019/09/22 Python
pygame实现成语填空游戏
2019/10/29 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
Python利用命名空间解析XML文档
2020/08/10 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
交通事故私了协议书
2014/04/16 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
OpenCV全景图像拼接的实现示例
2021/06/05 Python