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 相关文章推荐
JavaScript QueryString解析类代码
Jan 17 Javascript
文本框只能选择数据到文本框禁止手动输入
Nov 22 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
Nov 24 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
Dec 24 Javascript
Javascript中内建函数reduce的应用详解
Oct 20 Javascript
详解webpack2+React 实例demo
Sep 11 Javascript
jQuery Validate插件ajax方式验证输入值的实例
Dec 21 jQuery
Vue $emit $refs子父组件间方法的调用实例
Sep 12 Javascript
对于防止按钮重复点击的尝试详解
Apr 22 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 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连接Oracle数据库
2006/10/09 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
javascript 验证日期的函数
2010/03/18 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
解决Django中多条件查询的问题
2019/07/18 Python
Mac安装python3的方法步骤
2019/08/09 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
杭州-DOTNET笔试题集
2013/09/25 面试题
校庆标语集锦
2014/06/25 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
Mysql Show Profile
2021/04/05 MySQL
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js
Django框架模板用法详解
2022/06/10 Python