JavaScript中arguments的使用方法详解


Posted in Javascript onDecember 20, 2020

前言

js这是一门弱语言,不像其他语言如c,java等,有严格的规范,

所以现在也流传着一种说法,js本来就不是一种语言;

说回arguments,它是js中函数内置的一个对象,而执行函数方法的实参中值都存储在arguments中;

要想获取到这些实参,就需要像数组一样,用下标/索引来定位到每个值上面,但是又不能说它是一个数组,因为它里面还有其他的属性,如callee;

并且不能对它使用shift、push、join等方法。而没有传递值的命名参数将会被自动赋予undefined;

如下图:

JavaScript中arguments的使用方法详解

(如果要获取到其他的不是实参的属性,就需要用具体的属性名了;)

arguments实例一:

计算任意数值的和

<script>
 function sum(){
 var result = 0;
 
for(var i = 0;i<arguments.length;i++){
 

result+=arguments[i];
 
}
 
return result;
 }
 window.onload = function(){
 
alert(sum(1,2,3,4,5,6,7,9));
 }
 </script>

实例二:

求给定的任意值中的最大值

<script>
 function Max(){
 var maxValue = arguments[0];
 for(var i=1; i<arguments.length; i++){
 if(maxValue < arguments[i]){
 maxValue = arguments[i];
 }
 }
 console.log(arguments);
 return maxValue;
 }
 
 console.log(Max(1,23,0,-1000,100,5,54)); // 100

 </script>

callee的作用是返回正在被执行的函数对象,只能在相关的函数 执行时才能使用;

可以用来实行函数的递归;

<script>

 function factorial(n){
  if (n <= 0){
 return 1;
 } else{
 return n * arguments.callee(n-1);
 // return n*factorial(n-1);函数本身的递归
 } 
 }
 alert(factorial(5)); // 120
</script>

总结

到此这篇关于JavaScript中arguments使用的文章就介绍到这了,更多相关JS中arguments使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 对话框和状态栏使用说明
Oct 25 Javascript
jQuery实现的Div窗口震动特效
Jun 09 Javascript
原生Js实现简易烟花爆炸效果的方法
Mar 20 Javascript
使用JavaScript实现旋转的彩圈特效
Jun 23 Javascript
jQuery实现为图片添加镜头放大效果的方法
Jun 25 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
Jan 28 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
mongoose中利用populate处理嵌套的方法
May 26 Javascript
js每隔两秒输出数组中的一项(实例)
May 28 Javascript
详解wepy开发小程序踩过的坑(小结)
May 22 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
Mar 25 Javascript
JS+Canvas实现五子棋游戏
Aug 26 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 #Vue.js
vue中如何添加百度统计代码
Dec 19 #Vue.js
vue 导航守卫和axios拦截器有哪些区别
Dec 19 #Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 #Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 #Vue.js
Vue——前端生成二维码的示例
Dec 19 #Vue.js
如何在vue中使用kindeditor富文本编辑器
Dec 19 #Vue.js
You might like
第十五节--Zend引擎的发展
2006/11/16 PHP
php递归列出所有文件和目录的代码
2008/09/10 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
js活用事件触发对象动作
2008/08/10 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
[02:38]DOTA2亚洲邀请赛小组赛精彩集锦:Wings完美团击溃对手
2017/03/29 DOTA
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
python基础教程之分支、循环简单用法
2016/06/16 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
python生成二维码的实例详解
2017/10/29 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
深入了解Django View(视图系统)
2019/07/23 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
通过代码实例了解Python sys模块
2020/09/14 Python
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
学生自我鉴定
2013/12/18 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL