Javascript中的arguments对象

 更新时间:2016年06月20日 14:27:15   作者:九成  
这篇文章主要介绍了Javascript中的arguments对象 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

在js中一切都是对象,连函数也是对象,函数名其实是引用函数定义对象的变量。

1、什么是arguments?

这个函数体内的arguments非常特殊,实际上是所在函数的一个内置类数组对象,可以用数组的[i]和.length。

2、有什么作用?

js语法不支持重载!但可用arguments对象模拟重载效果。

arguments对象:函数对象内,自动创建的专门接收所有参数值得类数组对象。
arguments[i]: 获得传入的下标为i的参数值
arguments.length: 获得传入的参数个数!

重载:

  程序中可定义多个相同函数名,不同参数列表的函数,
  调用者不必区分每个函数的参数,
  执行时,程序根据传入的参数个数,自动判断选择哪个函数执行。

例子如下:

// 1、如果用户传入一个参数,求平方
function sum(a){
console.log(a*a);
}
//如果用户传入两个参数,就求和
function sum(a,b){
console.log(a+b);
}
sum(4); //?
sum(4,5); //? 

上述例子中本意是想让同名函数sum()根据参数不同输出不同结果,但是sum是函数名字,本质也是个变量,

第二个会覆盖第一个,所以上述的正确输出答案是:NaN,9.所以这样显然不可以。

如果用arguments,就简单多了。

如下2个例子:

//2、
function calc(){
//如果用户传入一个参数,求平方
if(arguments.length==1){
console.log(arguments[0]*arguments[0]);
}else if(arguments.length==2){
//如果用户传入两个参数,就求和
console.log(arguments[0]+arguments[1]);
}
}
calc(4); //16
calc(4,5); //9 
/*3、无论用户传入几个数字,都可以求和*/
function add(){
//arguments:[]
//遍历arguments中每个元素,并累加
for(var i=0,sum=0;i<arguments.length;sum+=arguments[i++]);
return sum;//返回和
}
console.log(add(1,2,3)); //6
console.log(add(1,2,3,4,5,6)); //21 

这就是JS利用arguments重载的效果,简单理解就是一个函数重复利用.

arguments.length是有实参决定,即函数调用时候里面的参数个数决定!

以上所述是小编给大家介绍的Javascript中的arguments对象的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • js实现日历的简单算法

    js实现日历的简单算法

    这篇文章主要为大家详细介绍了js实现日历的简单算法,用js写了一套日历,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • JS写滑稽笑脸运动效果

    JS写滑稽笑脸运动效果

    这篇文章主要介绍了JS写滑稽笑脸运动效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • JS判断Android、iOS或浏览器的多种方法(四种方法)

    JS判断Android、iOS或浏览器的多种方法(四种方法)

    这篇文章主要介绍了JS判断Android、iOS或浏览器的多种方法(四种方法),需要的朋友可以参考下
    2017-06-06
  • indexOf 和 lastIndexOf 使用示例介绍

    indexOf 和 lastIndexOf 使用示例介绍

    indexOf是在一个字符串中寻找一个字的位置,lastIndexOf 也是找字 , 它们俩的区别是前者从字符串头开始找,后者是从字符串末端开始找
    2014-09-09
  • javascript数组去重小结

    javascript数组去重小结

    本文给大家汇总介绍了javascript中数组去重的4种方法,分别是循环匹配去重,JSON去重/对象去重/字典去重,队列递归去重,INDEXOF去重方式,非常的细致全面,有需要的小伙伴可以参考下。
    2016-03-03
  • Bootstrap FileInput实现图片上传功能

    Bootstrap FileInput实现图片上传功能

    这篇文章主要为大家详细介绍了Bootstrap FileInput实现图片上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • js中console在一行内打印字符串和对象的方法

    js中console在一行内打印字符串和对象的方法

    这篇文章主要介绍了js中console在一行内打印字符串和对象的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Javascript节点关系实例分析

    Javascript节点关系实例分析

    这篇文章主要介绍了Javascript节点关系,实例分析了javascript操作父子节点及兄弟节点的相关技巧,需要的朋友可以参考下
    2015-05-05
  • JS中解决谷歌浏览器记住密码输入框颜色改变功能

    JS中解决谷歌浏览器记住密码输入框颜色改变功能

    这篇文章主要介绍了JS中解决谷歌浏览器记住密码输入框颜色改变功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • JavaScript的parseInt 取整使用

    JavaScript的parseInt 取整使用

    JavaScript 是弱类型语言, 为了保证数值的有效性, 在处理数值的时候, 我们可以对数值字符串进行强行转换. 如 parseInt 取整和 parseFloat 取浮点数
    2011-05-05

最新评论