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 相关文章推荐
asp.net HttpHandler实现图片防盗链
Nov 09 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
Apr 11 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
js打开新窗口方法整理
Feb 17 Javascript
JavaScript获取页面上被选中文字的方法技巧
Mar 13 Javascript
基于jquery实现简单的分页控件
Mar 17 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
Jan 12 Javascript
详解Sea.js中Module.exports和exports的区别
Feb 12 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
Aug 14 Javascript
Vue项目数据动态过滤实践及实现思路
Sep 11 Javascript
解决vuecli3.0热更新失效的问题
Sep 19 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/03/05 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
理解javascript闭包
2015/12/15 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
Python实现二分法算法实例
2015/02/02 Python
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
C语言笔试集
2012/07/24 面试题
业务主管岗位职责范本
2013/12/25 职场文书
顶岗实习接收函
2014/01/09 职场文书
杠杆的科学教学反思
2014/01/10 职场文书
网上开商店的创业计划书
2014/01/19 职场文书
大学新学期计划书
2014/04/28 职场文书
感恩的心主题班会
2015/08/12 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
利用python调用摄像头的实例分析
2021/06/07 Python
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技