JavaScript中arguments的使用方法详解

 更新时间:2020年12月20日 09:47:39   作者:等待的L先生  
这篇文章主要给大家介绍了关于JavaScript中arguments的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

js这是一门弱语言,不像其他语言如c,java等,有严格的规范,

所以现在也流传着一种说法,js本来就不是一种语言;

说回arguments,它是js中函数内置的一个对象,而执行函数方法的实参中值都存储在arguments中;

要想获取到这些实参,就需要像数组一样,用下标/索引来定位到每个值上面,但是又不能说它是一个数组,因为它里面还有其他的属性,如callee;

并且不能对它使用shift、push、join等方法。而没有传递值的命名参数将会被自动赋予undefined;

如下图:

(如果要获取到其他的不是实参的属性,就需要用具体的属性名了;)

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事件问题

    咱们都知道,在DOM事件模型中,有捕获和冒泡两个阶段,而在IE事件模型中,只有冒泡阶段。写在html里的事件响应函数只有在冒泡阶段才会被执行
    2009-09-09
  • 再论Javascript下字符串连接的性能

    再论Javascript下字符串连接的性能

    这是个老话题了,之所以再拿出来说,是因为浏览器一直在进步,以前最好的方法现在不一定是最好的。
    2011-03-03
  • Ajax,UTF-8还是GB2312 eval 还是execScript

    Ajax,UTF-8还是GB2312 eval 还是execScript

    讨厌的东西。 关于Ajax获取HTML内容编码,与JavaScript载入脚本的动态执行问题。
    2008-11-11
  • JS+cookie实现购物评价五星好评功能

    JS+cookie实现购物评价五星好评功能

    这篇文章主要为大家详细介绍了JS+cookie实现购物评价五星好评功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • js实现class样式的修改、添加及删除的方法

    js实现class样式的修改、添加及删除的方法

    这篇文章主要介绍了js实现class样式的修改、添加及删除的方法,主要通过修改标签的className来实现这一功能,非常具有实用价值,需要的朋友可以参考下
    2015-01-01
  • Ajax清除浏览器js、css、图片缓存的方法

    Ajax清除浏览器js、css、图片缓存的方法

    为了减小浏览器与服务器之间网络传输压力,往往对静态文件,如js,css,修饰的图片做cache,也就是给这些文件的HTTP响应头加入 Expires和Cache-Control参数,并指定缓存时间,这篇文章详细介绍Ajax清楚浏览js、Css、图片缓存的方法,有需要的朋友可以参考下
    2015-08-08
  • JS+DIV实现拖动效果

    JS+DIV实现拖动效果

    这篇文章主要为大家详细介绍了JS+DIV实现拖动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • JavaScript实现音乐播放器

    JavaScript实现音乐播放器

    这篇文章主要为大家详细介绍了JavaScript实现音乐播放器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • JS无法捕获滚动条上的mouse up事件的原因猜想

    JS无法捕获滚动条上的mouse up事件的原因猜想

    当用户鼠标在滚动条上按下的时候,我们可以假设他(她)正在浏览聊天内容,那么这个时候好的用户体验就不能让滚动条再自动滚动了
    2012-03-03
  • 分享javascript、jquery实用代码段

    分享javascript、jquery实用代码段

    这篇文章主要为大家分享了javascript、jquery实用代码段,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10

最新评论