我只是想随机点击一些按钮然后当我点击Sum按钮时它会显示总和

时间:2013-06-03 11:17:43

标签: javascript arrays push

我只想随机点击某个按钮,然后当我点击Sum按钮时,它会显示点击按钮值结果的总和,我需要这个代码用java脚本。

<!DOCTYPE html>
<html>
<head>
<script>
var mynum = new Array(6);
var i = 0;

unction buttonClicked(obj) {
if (i < mynum.length) 
 mynum[i++] = obj.value; 
else alert("Array limit reached");
}

function sum() {
sumOfArray = 0;
for (j = 0; j < i; j++)
sumOfArray += parseInt(mynum[j++]);
alert("Sum = " + sumOfArray);
}

</script>
</head>
<body>


<p id="demo">Result</p>


button type="button" onclick="buttonClicked(2)">1</button>

<button type="button" onclick="buttonClicked(3)">2</button>
<button type="button" onclick="buttonClicked(3)">4</button>
<button type="button" onclick="buttonClicked(3)">8</button>


<button type="button" onclick="sum()">Sum</button>

</body>
</html> 

1 个答案:

答案 0 :(得分:2)

这一行:

unction buttonClicked(obj) {

应该是:

function buttonClicked(obj) {

当您将值发送给函数时,而不是包含该值的对象,这个:

mynum[i++] = obj.value;

应该是:

mynum[i++] = obj;

由于数组中有数字,因此不应解析它们。这样:

sumOfArray += parseInt(mynum[j++]);

应该是:

sumOfArray += mynum[j++];

旁注:当您使用parseInt时,您应该将base指定为第二个参数,否则它将使用base 8而不是10来解析以零开头的数字。


您可能希望向与按钮显示的功能相对应的函数发送值,因此:

button type="button" onclick="buttonClicked(2)">1</button>
<button type="button" onclick="buttonClicked(3)">2</button>
<button type="button" onclick="buttonClicked(3)">4</button>
<button type="button" onclick="buttonClicked(3)">8</button>

应该是:

<button onclick="buttonClicked(1)">1</button>
<button onclick="buttonClicked(2)">2</button>
<button onclick="buttonClicked(4)">4</button>
<button onclick="buttonClicked(8)">8</button>