一、Arguments对象
在JavaScript中,当一个函数被调用时,JS会为这个函数建立一个Arguments对象,局部变量arguments自动初始化以便引用这个对象。 JS Arguments对象最主要的功能是:提供一种方法,用来确定传递给函数的参数个数并且引用未命名的参数。
Arguments对象里面存放的函数的所有的参数,Arguments对象被定义为数组的格式,通过Arguments我们能够判断函数参数的个数。可用Arguments[i]引用函数的参数,Arguments[0]是函数的第一个参数,Arguments.length参数的个数,但是Arguments不是数组。
/JS Arguments对象属性://(1)arguments.callee = 正在执行的函数的引用//(2)arguments.length = 参数个数//应用实例: var fac = function(x){ // //arguments.length = 函数调用时,参数个数。(实参) //arguments.callee.length = 函数定义时,参数个数。(形参) // if(arguments.length == arguments.callee.length){ var x = parseInt(arguments[0]); if(x < 2){ return 1; }else{ return x * arguments.callee(x-1); } }else{ return 0; } } document.writeln("fac(1) = " + fac(1));// fac(1) = 1 document.writeln("fac(2) = " + fac(2));// fac(2) = 2 document.writeln("fac(3) = " + fac("3"));// fac(3) = 6 document.writeln("fac(10,11) = " + fac(10,11));// fac(10,11) = 0 document.writeln("fac(20) = " + fac("20"));// fac(20) = 2432902008176640000 复制代码
二、Arguments对象的作用
通过Arguments我们可以实现一些高级的函数,例如柯里化函数,同时,我们可以实现函数传递多个参数。
希望各位技术同僚看到此文无论好坏留下自己的意见。如果觉得该文与你有共鸣,欢迎给出属于我的第一个喜欢,顺便po出+,也希望大家能给出一颗star,简直不要太可怜~~~