JavaScript增加数组中的数字

Sud*_*ha 5 javascript

我想在JavaScript中按下链接时增加数组中的值

我使用以下代码

<script type="text/javascript">

 var i=0;
 var numbers = new Array();


 function go(val){

 numbers[i]=val;
 i++;

 alert(numbers[i]);

 }

</script>
Run Code Online (Sandbox Code Playgroud)

像这样称为函数

<a href='javascript:go(1)' </a> 
Run Code Online (Sandbox Code Playgroud)

但总是警报提示我'未定义'

Jon*_*ust 7

警报是正确的 - 在您发出警报之前,您会增加警报i.您正在查看刚刚输入的元素之后的下一个元素.

在调用该方法一次后,您的数组如下所示:

numbers[0] = 1;
numbers[1] = undefined;
Run Code Online (Sandbox Code Playgroud)

i == 1.

再次调用它之后,数组看起来像:

numbers[0] = 1;
numbers[1] = 1;
numbers[2] = undefined;
Run Code Online (Sandbox Code Playgroud)

i == 2.

希望您可以看到此方法始终会发出警报undefined


Poi*_*nty 6

那是因为你增加"我"

i++;
Run Code Online (Sandbox Code Playgroud)

你发出警报之前!因此,"i"将指向要使用的下一个阵列插槽,而不是您刚刚填充的插槽.

您可以将警报更改为使用"i-1"

alert(numbers[i - 1]);
Run Code Online (Sandbox Code Playgroud)