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 相关文章推荐
js事件冒泡实例分享(已测试)
Apr 23 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
Aug 09 Javascript
一个简单的jQuery计算器实现了连续计算功能
Jul 21 Javascript
javascript从image转换为base64位编码的String
Jul 29 Javascript
利用原生JavaScript获取元素样式只是获取而已
Oct 08 Javascript
JavaScript严格模式详解
Nov 18 Javascript
Bootstrap导航条学习使用(一)
Feb 08 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
May 17 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
Jun 12 Javascript
Vue框架下引入ActiveX控件的问题解决
Mar 25 Javascript
微信小程序和百度的语音识别接口详解
May 06 Javascript
原生js实现五子棋游戏
May 28 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 Sql Server连接失败问题及解决办法
2009/08/07 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
python抓取京东商城手机列表url实例代码
2013/12/18 Python
简单的Python抓taobao图片爬虫
2014/10/26 Python
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
python获得一个月有多少天的方法
2015/06/04 Python
基于Python闭包及其作用域详解
2017/08/28 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
python实现多人聊天室
2020/03/31 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
道德之星事迹材料
2014/05/03 职场文书
监察局领导班子四风问题整改措施思想汇报
2014/10/05 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
领导干部失职检讨书
2015/05/05 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
导游词之永济鹳雀楼
2020/01/16 职场文书
详解如何使用Nginx解决跨域问题
2022/05/06 Servers