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 Zifa FormValid 0.1表单验证 代码打包下载
Jun 08 Javascript
javascript返回顶部效果(自写代码)
Jan 06 Javascript
js获取对象为null的解决方法
Nov 21 Javascript
jquery实现类似淘宝星星评分功能有截图
Sep 15 Javascript
简述Jquery与DOM对象
Jul 10 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
Dec 02 Javascript
浅析Bootstrap组件之面板组件
May 04 Javascript
只需五句话搞定JavaScript作用域(经典)
Jul 26 Javascript
vue 虚拟dom的patch源码分析
Mar 01 Javascript
vue路由守卫及路由守卫无限循环问题详析
Sep 05 Javascript
JS实现简单日历特效
Jan 03 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 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 return语句的另一个作用
2014/07/30 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
php5与php7的区别点总结
2019/10/11 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
用JS剩余字数计算的代码
2008/07/03 Javascript
JS 字符串连接[性能比较]
2009/05/10 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
bootstrapValidator自定验证方法写法
2016/12/01 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
JS Input里添加小图标的两种方法
2017/11/11 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
Python itertools模块详解
2015/05/09 Python
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
使用python实现省市三级菜单效果
2016/01/20 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
利用python修改json文件的value方法
2018/12/31 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
介绍一下Linux中的链接
2016/06/05 面试题
保荐人的岗位职责
2013/11/19 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
培训心得体会怎么写
2016/01/25 职场文书
《认识钟表》教学反思
2016/02/16 职场文书