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的两个ListBox子项互相调整的实现代码
May 07 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
Nov 04 Javascript
js实现简单登录功能的实例代码
Nov 09 Javascript
Windows系统下Node.js的简单入门教程
Jun 23 Javascript
js中javascript:void(0) 真正含义
Nov 05 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
js点击返回跳转到指定页面实现过程
Aug 20 Javascript
简易的JS计算器实现代码
Oct 18 Javascript
JS在浏览器中解析Base64编码图像
Feb 09 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
Sep 27 Javascript
微信小程序缓存过期时间的使用详情
May 12 Javascript
JavaScript parseInt0.0000005打印5原理解析
Jul 23 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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
php strftime函数的详细用法
2018/06/21 PHP
jquery cookie的用法总结
2013/11/18 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
Python内建模块struct实例详解
2018/02/02 Python
python让列表倒序输出的实例
2018/06/25 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
深入解析神经网络从原理到实现
2019/07/26 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
Python-for循环的内部机制
2020/06/12 Python
Python timeit模块原理及使用方法
2020/10/10 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
一套软件开发工程师笔试题
2015/05/18 面试题
设计毕业生简历中的自我评价
2013/10/01 职场文书
捐款倡议书范文
2014/02/02 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
先进个人事迹材料
2014/12/29 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android