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 相关文章推荐
异步加载script的代码
Jan 12 Javascript
Javascript实现字数统计
Jul 03 Javascript
对于jQuery性能的一些优化建议
Aug 13 Javascript
Bootstrap安装环境配置教程分享
May 27 Javascript
jQuery如何跳转到另一个网页 就这么简单
Dec 28 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
Dec 29 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
Sep 16 Javascript
Swiper自定义分页器使用详解
Dec 28 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 Javascript
小程序登录之支付宝授权的实现示例
Dec 13 Javascript
js判断密码强度的方法
Mar 18 Javascript
基于vue的video播放器的实现示例
Feb 19 Vue.js
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
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
动态表格Table类的实现
2009/08/26 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
js获取视频时长代码
2014/04/10 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
Django实现登录随机验证码的示例代码
2018/06/20 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
Python编程中类与类的关系详解
2019/08/08 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
班长岗位职责
2013/11/10 职场文书
个人贷款承诺书
2014/03/28 职场文书
我爱我家教学反思
2014/05/01 职场文书
领导干部作风建设总结
2014/10/23 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
英文升职感谢信
2015/01/23 职场文书
转变工作作风心得体会
2016/01/23 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android