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 相关文章推荐
Web开发之JavaScript
Mar 29 Javascript
浅析XMLHttpRequest的缓存问题
Dec 13 Javascript
jQuery事件用法详解
Oct 06 Javascript
Bootstrap基本组件学习笔记之导航(10)
Dec 07 Javascript
js仿搜狐视频记录片列表展示效果
May 30 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
JavaScript创建对象的七种方式(推荐)
Jun 26 Javascript
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
jQuery选择器之基本过滤选择器用法实例分析
Feb 19 jQuery
Vue使用NProgress进度条的方法
Sep 21 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
Apr 16 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
Aug 06 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判断表单复选框选中状态完整例子
2014/06/24 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
python实现简单的socket server实例
2015/04/29 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
python3.6数独问题的解决
2019/01/21 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
Python如何获取文件路径/目录
2020/09/22 Python
如何完美的建立一个python项目
2020/10/09 Python
python中添加模块导入路径的方法
2021/02/03 Python
写好自荐信的技巧
2013/11/08 职场文书
怎样写好自我评价呢?
2014/02/16 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
python批量创建变量并赋值操作
2021/06/03 Python