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在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
JavaScript打开word文档的实现代码(c#)
Apr 16 Javascript
php结合imgareaselect实现图片裁剪
Jul 05 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
Dec 04 Javascript
学习vue.js条件渲染
Dec 03 Javascript
JS FormData上传文件的设置方法
Jul 05 Javascript
Vue之Watcher源码解析(1)
Jul 19 Javascript
JS实现区分中英文并统计字符个数的方法示例
Jun 09 Javascript
Vue+Express实现登录注销功能的实例代码
May 05 Javascript
如何解决日期函数new Date()浏览器兼容性问题
Sep 11 Javascript
微信小程序实现音乐播放页面布局
Dec 11 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
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
PHP 一个随机字符串生成代码
2010/05/26 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
Django的models模型的具体使用
2019/07/15 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
eBay美国官网:eBay.com
2020/10/24 全球购物
药品营销策划方案
2014/06/15 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python
MyBatis 动态SQL全面详解
2021/10/05 MySQL
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫
Java死锁的排查
2022/05/11 Java/Android
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python