传递数组作为参数在JavaScript
我有一个数组,我想将它传递作为函数诸如参数:传递数组作为参数在JavaScript
function something(arrayP){
for(var i = 0; i < arrayP.length; i++){
alert(arrayP[i].value);
}
}
我收到arrayP [0]是未定义的,该可能是真实的,因为函数内部我从来没有写过什么样的arrayP数组。所以,
- 是可以传递数组作为参数?
- 如果是的话,哪些是函数内部的要求?
可以将数组传递给函数,并且没有特殊的要求来处理它们。你确定你传递给你函数的数组实际上有一个元素[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
。
'String.prototype.value =“嗨,尼克我打破了你的榜样!”/邪恶的代码't use – 2010-12-18 19:46:29
@IvoWetzel你为什么认为它是邪恶的代码?他提供的代码是否容易受到攻击? – 5ervant 2015-09-02 15:18:32
JavaScript是一种动态类型语言。这意味着你永远不需要声明函数参数的类型(或任何其他变量)。因此,只要arrayP
是一个数组并且包含具有value
属性的元素,您的代码就会工作。
这只是一个例子,不要太讨厌。 ;-)感谢您的注意。 – 2010-12-18 19:12:27
我建议你学习更多关于数组的知识:https://developer.mozilla.org/en/JavaScript/Guide/Predefined_Core_Objects#Array_Object – 2010-12-18 19:48:11