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弹窗代码 可以指定弹出间隔
Jul 03 Javascript
Juqery Html(),append()等方法的Bug解决方法
Dec 13 Javascript
如何用ajax来创建一个XMLHttpRequest对象
Dec 10 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
Nov 17 Javascript
JavaScript lodash常见用法系列小结
Aug 24 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
Aug 26 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
Feb 10 Javascript
JS数组操作中的经典算法实例讲解
Jul 26 Javascript
详解适配器在JavaScript中的体现
Sep 28 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
Nov 20 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 数组二分法查找函数代码
2010/02/16 PHP
PHP里的中文变量说明
2011/07/23 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
2014/04/08 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
javascript如何写热点图
2015/12/08 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
Python中input和raw_input的一点区别
2014/10/21 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
python正则分析nginx的访问日志
2017/01/17 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
python爬虫 正则表达式解析
2019/09/28 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
python自动点赞功能的实现思路
2020/02/26 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
小学生红领巾广播稿
2014/01/21 职场文书
剪彩仪式主持词
2014/03/19 职场文书
委托公证书范本
2014/04/03 职场文书
运动会广播稿50字
2015/08/19 职场文书
《去年的树》教学反思
2016/02/18 职场文书