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 相关文章推荐
基于jquery ajax 用户无刷新登录方法详解
Apr 28 Javascript
JavaScript对象和字串之间的转换实例探讨
Apr 21 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
Sep 04 Javascript
微信小程序tabbar不显示解决办法
Jun 08 Javascript
vue :src 文件路径错误问题的解决方法
May 15 Javascript
vue项目部署上线遇到的问题及解决方法
Jun 10 Javascript
React组件重构之嵌套+继承及高阶组件详解
Jul 19 Javascript
vuejs选中当前样式active的实例
Aug 22 Javascript
layer更改皮肤的实现方法
Sep 11 Javascript
vue路由分文件拆分管理详解
Aug 13 Javascript
比较node.js和Deno
Apr 27 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
关于时间计算的结总
2006/12/06 PHP
获得Google PR值的PHP代码
2007/01/28 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
python一键去抖音视频水印工具
2018/09/14 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
应届生自我鉴定
2013/12/11 职场文书
技校个人求职信范文
2014/01/25 职场文书
学习决心书
2014/03/11 职场文书
为自己工作观后感
2015/06/11 职场文书
小学毕业感言100字
2015/07/30 职场文书
2019暑假学生安全口号
2019/06/27 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书