传递数组作为参数在JavaScript

问题描述:

我有一个数组,我想将它传递作为函数诸如参数:传递数组作为参数在JavaScript

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

我收到arrayP [0]是未定义的,该可能是真实的,因为函数内部我从来没有写过什么样的arrayP数组。所以,

  1. 是可以传递数组作为参数?
  2. 如果是的话,哪些是函数内部的要求?
+0

这只是一个例子,不要太讨厌。 ;-)感谢您的注意。 – 2010-12-18 19:12:27

+0

我建议你学习更多关于数组的知识:https://developer.mozilla.org/en/JavaScript/Guide/Predefined_Core_Objects#Array_Object – 2010-12-18 19:48:11

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

只需卸下.value,就像这样:

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

当然,你可以传递一个数组,但在该位置获得元件,使用只有arrayName[index],在.value会是断开得到value财产数组中该位置的一个对象 - 对于字符串,数字等事物不存在。例如,"myString".value也可能是undefined

+3

'String.prototype.value =“嗨,尼克我打破了你的榜样!”/邪恶的代码't use – 2010-12-18 19:46:29

+1

@IvoWetzel你为什么认为它是邪恶的代码?他提供的代码是否容易受到攻击? – 5ervant 2015-09-02 15:18:32

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