JS函数arguments数组获取实际传参数个数的实现方法

作者:纸飞机时间:2026-10-30 07:38:17浏览:569

本文介绍JavaScript函数中灵活传参的特性,对比PHP形参与实参匹配规则。重点讲解如何利用arguments对象获取不定数量实参的个数及具体值,并通过计算最小值的示例演示其实际应用,适用于参数个数不确定的场景。

JavaScript与PHP传参差异

JavaScript与PHP在函数传参机制上存在差异。PHP要求形参与实参个数必须严格匹配,而JavaScript则更加灵活,允许传入任意数量的实参,无论实参数量少于还是多于形参定义,均不会抛出错误。

当传入的实参数量超过定义的形参数量时,程序不会报错。


function say(a){
  alert(a); 
}
 
say('琼台博客','WEB技术博客'); 

执行结果如下所示。

JavaScript与PHP传参差异

接下来考察形参数量多于实参数量的情况。


function say(a,b){
  alert('a 的值是 '+a+'\nb 的值是 '+b); 
}
 
say('琼台博客'); 

执行结果如下。

JavaScript与PHP传参差异

变量a对应第一个传入的实参“琼台博客”,而变量b没有对应的实参传入,因此其值为undefined。

利用arguments对象获取实参

arguments对象详解

在复杂的程序设计中,往往不预先指定参数个数,而是采用灵活的处理方式。JavaScript函数内部提供了一个名为arguments的数组对象,专门用于存储传入的所有实参。通过访问该对象,可以获取实参的具体个数以及每个实参的值。


function arg(){
  var str = '总共传了'+arguments.length+'个参数\n';
  for(var i=0;i<arguments.length;i++){  
    str += '第'+(i+1)+'个参数值:'+arguments[i]+'\n'; 
  }
  alert(str);
}
arg('琼台博客','PHP博客','WEB技术博客'); 

执行结果如下。

JavaScript与PHP传参差异

在上述示例中,定义函数arg时并未指定任何形参,而是直接使用arguments对象来接收所有传入的实参,这种方式具有极高的灵活性。

arguments对象应用示例

例如,可以利用arguments对象来计算一组数字中的最小值,无论这组数字包含多少个元素。具体代码实现如下:


function arg(){
  var tmp = 0, str = '在 ';
  for(var i=0;i<arguments.length;i++){  
    for(var g=0;g<arguments.length;g++){
      if(arguments[g]<arguments[i]){
        tmp = arguments[g]; 
      } 
    }
    str += arguments[i]+',';
  }
  alert(str.substr(0,str.length-1)+' 里最小的值是 '+tmp);
}
arg(200,100,59,3500); 

执行包含200、100、59、3500四个数字的对比结果。

JavaScript与PHP传参差异

接着增加两个数字,分别为5和60。


function arg(){
  var tmp = 0, str = '在 ';
  for(var i=0;i<arguments.length;i++){  
    for(var g=0;g<arguments.length;g++){
      if(arguments[g]<arguments[i]){
        tmp = arguments[g]; 
      } 
    }
    str += arguments[i]+',';
  }
  alert(str.substr(0,str.length-1)+' 里最小的值是 '+tmp);
}
arg(200,100,59,3500,5,60); 

执行包含200、100、59、3500、5、60共六个数字的对比结果。

JavaScript与PHP传参差异

通过两次运算结果可以看出,无论传入多少个数字,程序均能正确比对并返回最小值。arguments对象通常应用于实参个数不确定的场景,例如上述示例中,既可以传入5个数字进行比较,也可以传入100个数字,逻辑依然成立。

以上关于JS函数arguments数组获取实际传参数个数的实现方法即为全部内容,希望能对读者有所帮助,也欢迎大家继续支持本站。

作者最新文章