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数字输入框(包括最大值最小值限制和四舍五入)
Nov 24 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
Oct 23 Javascript
JS简单实现登陆验证附效果图
Nov 19 Javascript
javascript+ajax实现产品页面加载信息
Jul 09 Javascript
JavaScript必知必会(六) delete in instanceof
Jun 08 Javascript
彻底解决 webpack 打包文件体积过大问题
Jul 07 Javascript
微信小程序实现自动定位功能
Oct 31 Javascript
jquery获取input输入框中的值
Nov 13 jQuery
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
js实现文章目录索引导航(table of content)
May 10 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 Vue.js
Vue2.0搭建脚手架
Mar 13 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
PHP 采集程序中常用的函数
2009/12/09 PHP
php自动载入类用法实例分析
2016/06/24 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
YII框架http缓存操作示例
2019/04/29 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
Python基于内置函数type创建新类型
2020/10/22 Python
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
机电工程专业应届生求职信
2013/10/03 职场文书
电焊工岗位职责
2014/03/06 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
销售助理岗位职责
2015/02/11 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis