Javascript数组元素未通过函数设置?

Javascript数组元素未通过函数设置?,javascript,arrays,element,Javascript,Arrays,Element,很长一段时间以来,我一直在努力解决这个问题,如果有任何帮助,我将不胜感激 代码如下,可以在这里看到 var price=新数组(); 功能添加(价格){ //警报(“功能添加:价格不是数字吗?=”+isNaN(价格)); 价格[0]=价格; } 函数addman(){ 价格[0]=0.87; } 功能状态(){ 警报(价格[0]); } 函数num(){ 警报(“功能编号:价格不是数字吗?=”+isNaN(编号(价格[0]))); } 函数pInt(){ 警报(“函数parseInt:pric

很长一段时间以来,我一直在努力解决这个问题,如果有任何帮助,我将不胜感激

代码如下,可以在这里看到


var price=新数组();
功能添加(价格){
//警报(“功能添加:价格不是数字吗?=”+isNaN(价格));
价格[0]=价格;
}
函数addman(){
价格[0]=0.87;
}
功能状态(){
警报(价格[0]);
}
函数num(){
警报(“功能编号:价格不是数字吗?=”+isNaN(编号(价格[0])));
}
函数pInt(){
警报(“函数parseInt:price不是数字吗?=”+isNaN(parseInt(price[0])));
}
函数pFloat(){
警报(“函数parseFloat:price不是数字吗?=”+isNaN(parseFloat(price[0]));
}
然后点击,
,  , 


单击“添加价格”,然后单击“状态”,它将显示为“未定义”,但单击“手动设置”,然后单击“状态”,状态将显示值。唯一的区别是它是如何设置的,有人知道我如何通过函数变量添加它吗?

问题是数组和函数参数的名称相同。后者在函数范围内取代前者,因此实际上您将无法访问外部阵列


更改参数名称就可以了。

只需将
数组
重命名为
价格
以外的名称即可。在
add
函数中
price
指的是函数参数,而不是数组

<script>
var price = new Array();

function add(price) {
//alert("function add: is price not a number? = "+isNaN(price));
price[0] = price;
}

function addman() {
price[0] = 0.87;
}

function status() {
alert(price[0]);
}

function num() {
alert("function Number: is price not a number? = "+isNaN(Number(price[0])));
}

function pInt() {
alert("function parseInt: is price not a number? = "+isNaN(parseInt(price[0])));
}

function pFloat() {
alert("function parseFloat: is price not a number? = "+isNaN(parseFloat(price[0])));
}
</script>

<a href="javascript:add('0.45');">Add price 0.45</a> then click ... <a href="javascript:status();">status</a> ,
 <a href="javascript:num();">number</a> , <a href="javascript:pInt();">parseInt</a> , <a href="javascript:pFloat();">parseFloat</a>

<p>

<a href="javascript:addman();">set manually</a>