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 相关文章推荐
网页设计常用的一些技巧
Dec 22 Javascript
javascript[js]获取url参数的代码
Oct 17 Javascript
ModelDialog JavaScript模态对话框类代码
Apr 17 Javascript
jquery插件validate验证的小例子
May 08 Javascript
浅谈jQuery的offset()方法及示例分享
Jul 17 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
jquery 遍历数组 each 方法详解
May 25 Javascript
JavaScript使用Range调色及透明度实例
Sep 25 Javascript
JS中闭包的经典用法小结(2则示例)
Dec 28 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
javascript循环链表之约瑟夫环的实现方法
Jan 16 Javascript
React优化子组件render的使用
May 12 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
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
jquery 页面全选框实践代码
2010/04/02 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
基于node.js之调试器详解
2017/08/22 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
nodejs实现获取本地文件夹下图片信息功能示例
2019/06/22 NodeJs
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Python中的tuple元组详细介绍
2015/02/02 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
python绘制圆柱体的方法
2018/07/02 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
使用python画社交网络图实例代码
2019/07/10 Python
django中嵌套的try-except实例
2020/05/21 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
最新计算机专业自荐信
2013/10/16 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
私人委托书格式
2014/09/10 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
校运会通讯稿
2015/07/18 职场文书
2016高考寄语集锦
2015/12/04 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python