在JavaScript中将数组作为参数传递

Gab*_*lla 24 javascript arrays

我有一个数组,我想将它作为参数传递给函数,例如:

function something(arrayP){
    for(var i = 0; i < arrayP.length; i++){
          alert(arrayP[i].value);
    }
 }
Run Code Online (Sandbox Code Playgroud)

我收到arrayP [0]是未定义,因为里面的功能我从来没有写过arrayP是什么类型的数组,这可能是真实的.所以,

  1. 是否可以将数组作为参数传递?
  2. 如果是这样,功能内部的要求是什么?

Nic*_*ver 35

只需删除.value,像这样:

function(arrayP){    
   for(var i = 0; i < arrayP.length; i++){
      alert(arrayP[i]);    //no .value here
   }
}
Run Code Online (Sandbox Code Playgroud)

当然你可以传递一个数组,但是为了在该位置获取元素, 使用arrayName[index],.value将从value数组中该位置的对象获取属性 - 对于诸如字符串,数字等的东西不存在.例如,"myString".value也将是undefined.

  • `String.prototype.value ="嗨尼克我打破了你的榜样!"`/ evil codez不使用 (3认同)

Amn*_*non 5

JavaScript是一种动态类型语言.这意味着您永远不需要声明函数参数(或任何其他变量)的类型.因此,您的代码将arrayP与数组一样长并且包含具有value属性的元素.


Clo*_*boy 2

可以将数组传递给函数,并且处理它们没有特殊要求。您确定传递给函数的数组实际上有一个元素 at 吗[0]