0

我一直在努力解决这个问题很长一段时间,并希望得到任何帮助。

代码如下,可以看这里http://incoming.comule.com/isnan.html

<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>

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

4

2 回答 2

1

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

更改参数名称,您会没事的。

于 2012-08-14T10:10:06.603 回答
1

您只需要将您的重命名Arrayprice. add函数内部price指的是函数参数,而不是数组。

于 2012-08-14T10:13:41.920 回答