JS函数动态传递参数的方法分析【基于arguments对象】


Posted in Javascript onJune 05, 2019

本文实例讲述了JS函数动态传递参数的方法。分享给大家供大家参考,具体如下:

js函数体内可以通过arguments对象来接收传递进来的参数,利用这一对象属性可以动态传参。

function box() {
 return arguments[0]+' | '+arguments[1]; //得到每次参数的值
}
alert(box(1,2,3,4,5,6)); //传递参数

arguments对象的length属性可以得到参数的数量。

function box() {
 return arguments.length; //得到6
}
alert(box(1,2,3,4,5,6));

我们可以利用length这个属性,来智能的判断有多少参数,然后把参数进行合理的应用。比如,要实现一个加法运算,将所有传进来的数字累加,而数字的个数又不确定。

function box() {
 var sum = 0;
 if (arguments.length == 0) return sum; //如果没有参数,退出
 for(var i = 0;i < arguments.length; i++) { //如果有,就累加
  sum = sum + arguments[i];
 }
 return sum; //返回累加结果
}
alert(box(5,9,12));

例子:

function loading() {
  var a="";
  for (var index in arguments) {
   a+=arguments[index]+"\n";
  }
  alert(a);
}
loading("xxx","yyyy","ccc");

完整Demo示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3water.com arguments动态获取传参个数</title>
</head>
<body>
<script>
 function box(){
  sum=0;
  for(i=0;i<arguments.length;i++){
   sum+=arguments[i];
  }
  return sum;
 }
 console.log(box(1,3,3,5,6))
</script>
</body>
</html>

运行结果:

JS函数动态传递参数的方法分析【基于arguments对象】

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
基于jquery的固定表头和列头的代码
May 03 Javascript
js中数组Array的一些常用方法总结
Aug 12 Javascript
Javascript倒计时页面跳转实例小结
Sep 11 Javascript
jQuery取id有.的值的方法
May 21 Javascript
浅谈EasyUI中编辑treegrid的方法
Mar 01 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
Mar 27 Javascript
JavaScript中pop()方法的使用教程
Jun 09 Javascript
JavaScript实现数据类型的相互转换
Mar 06 Javascript
详解AngularJS过滤器的使用
Mar 11 Javascript
jquery.validate表单验证插件使用方法解析
Nov 07 Javascript
Angularjs上传文件组件flowjs功能
Aug 07 Javascript
解决vuecli3.0热更新失效的问题
Sep 19 Javascript
jQuery操作cookie的示例代码
Jun 05 #jQuery
JS实现从对象获取对象中单个键值的方法示例
Jun 05 #Javascript
微信小程序如何实现全局重新加载
Jun 05 #Javascript
JS数组Object.keys()方法的使用示例
Jun 05 #Javascript
express + jwt + postMan验证实现持久化登录
Jun 05 #Javascript
Vue实现微信支付功能遇到的坑
Jun 05 #Javascript
JS实现数组删除指定元素功能示例
Jun 05 #Javascript
You might like
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
ThinkPHP分页实例
2014/10/15 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
js判断变量是否未定义的代码
2020/03/28 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
Python中用max()方法求最大值的介绍
2015/05/15 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
python批量下载抖音视频
2019/06/17 Python
python中的decimal类型转换实例详解
2019/06/26 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
写好自荐信的几个要点
2013/12/26 职场文书
小学教师听课制度
2014/02/01 职场文书
个人授权委托书样本
2014/09/13 职场文书
英文产品推荐信
2015/03/27 职场文书
工作收入证明范本
2015/06/12 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang