返回未定义的Javascript数组结果
我一直在做一个简单的数学游戏,在游戏结束后,我很难得到完整的答案结果 下面是我的返回函数的样子返回未定义的Javascript数组结果,javascript,jquery,Javascript,Jquery,我一直在做一个简单的数学游戏,在游戏结束后,我很难得到完整的答案结果 下面是我的返回函数的样子 function pShowResults() { var pNumResults = document.getElementById("results"); for (var i = 0; i <= 10; i++) { pNumStore.push(pNumGuess[i]); var pNumTable = document.crea
function pShowResults() {
var pNumResults = document.getElementById("results");
for (var i = 0; i <= 10; i++) {
pNumStore.push(pNumGuess[i]);
var pNumTable = document.createElement("div");
pNumTable.innerHTML = (pNumGuess[i]);
pNumResults.appendChild(pNumTable);
}
}
函数pShowResults(){
var pNumResults=document.getElementById(“结果”);
对于(var i=0;i您在使用数组之前忘记了定义它
function pShowResults() {
var pNumStore = new Array();
var pNumResults = document.getElementById("results");
for (var i = 0; i <= 10; i++) {
pNumStore.push(pNumGuess[i]);
var pNumTable = document.createElement("div");
pNumTable.innerHTML = (pNumGuess[i]);
pNumResults.appendChild(pNumTable);
}
}
函数pShowResults(){
var pNumStore=新数组();
var pNumResults=document.getElementById(“结果”);
对于(var i=0;i代码中有一个名为pNumCalc的函数,您已将其设置为接受一个参数,但从未传入。您使用该参数将结果存储在pNumGuess数组中,但由于从未传入该参数,因此从未存储猜测,最终用户给出的答案是未定义的
更新的fiddle:。不确定这离你真正想要的有多近,但希望它能让你走上正轨
因为StackOverflow希望在JSFIDLE为…时包含代码:
pNumCalc(pNumTrack)
您没有在许多位置传递x
的值
$(document).ready(function () {
//declare arrays and variables for use below
var pNum1 = [];
var pNum2 = [];
var pNumAns = [];
var pNumGuess = [];
var pNumStore = [];
var pNumCarry = 0;
var pNumTrack = 0;
var pNumMessageRight = ['Awesome Job!', 'Correct!', 'Great Job!'];
var pNumMessageWrong = ['Oh No! That Was Wrong!', 'Incorrect!', 'That\'s Wrong'];
$(".Play").click(function () {
$("#popup").attr("class", "on");
pNumTrack = 0;
pNumGen(pNumTrack);
});
$(".pNumSubmit").click(function () {
pNumCalc(pNumTrack-1);
});
$(".pNumNext").click(function () {
pNumGen(pNumTrack);
});
function pNumGen(x) {
pNum1[x] = (Math.round(Math.random() * 51));
pNum2[x] = (Math.round(Math.random() * 51));
pNumAns[x] = pNum1[x] + pNum2[x];
$(".pNum1").html(pNum1[x]);
$(".pNum2").html(pNum2[x]);
$(".pNumGuess").val("");
$(".pNum1").html(pNumTrack[x]);
if (pNumTrack == 2) {
$(".pNumNext").html("");
$(".pNumSubmit").html("Close");
pShowResults();
}
pNumTrack++;
}
function pNumCalc(x) {
pNumGuess[x] = $(".pNumGuess").val();
if (pNumGuess[x] == pNumAns[x]) {
$(".message").html(pNumMessageRight[Math.floor(Math.random() * pNumMessageRight.length)]);
$(".pNumNext").html("Next Question >")
} else {
$(".message").html(pNumMessageWrong[Math.floor(Math.random() * pNumMessageWrong.length)]);
$(".pNumNext").html("Maybe The Next Question >")
}
}
function pShowResults() {
var pNumResults = document.getElementById("results");
for (var i = 0; i < pNumGuess.length; i++) {
pNumStore.push(pNumGuess[i]);
var pNumTable = document.createElement("div");
pNumTable.innerHTML = (pNumGuess[i]);
pNumResults.appendChild(pNumTable);
}
}
});
$(文档).ready(函数(){
//声明下面使用的数组和变量
var pNum1=[];
var pNum2=[];
var pNumAns=[];
var pNumGuess=[];
var pNumStore=[];
var pNumCarry=0;
var pNumTrack=0;
var pNumMessageRight=['Awesome Job!'、'Correct!'、'Great Job!'];
var pnumMessageError=[“哦,不!那是错误的!”,“不正确的!”,“那是错误的”];
$(“.Play”)。单击(函数(){
$(“弹出窗口”).attr(“类”、“打开”);
pNumTrack=0;
pNumGen(pNumTrack);
});
$(“.pNumSubmit”)。单击(函数(){
pNumCalc(pNumTrack-1);
});
$(“.pNumNext”)。单击(函数(){
pNumGen(pNumTrack);
});
功能pNumGen(x){
pNum1[x]=(Math.round(Math.random()*51));
pNum2[x]=(Math.round(Math.random()*51));
pNumAns[x]=pNum1[x]+pNum2[x];
$(“.pNum1”).html(pNum1[x]);
$(“.pNum2”).html(pNum2[x]);
$(“.pNumGuess”).val(“”);
$(“.pNum1”).html(pNumTrack[x]);
如果(pNumTrack==2){
$(“.pNumNext”).html(“”);
$(“.pNumSubmit”).html(“关闭”);
pShowResults();
}
pNumTrack++;
}
函数pNumCalc(x){
pNumGuess[x]=$(“.pNumGuess”).val();
if(pNumGuess[x]==pNumAns[x]){
$(“.message”).html(pNumMessageRight[Math.floor(Math.random()*pNumMessageRight.length)];
$(“.pNumNext”).html(“下一个问题>”)
}否则{
$(“.message”).html(pnumMessageError[Math.floor(Math.random()*pnumMessageError.length)];
$(“.pNumNext”).html(“可能是下一个问题>”)
}
}
函数pShowResults(){
var pNumResults=document.getElementById(“结果”);
对于(变量i=0;i
演示:我必须建议您改用jquery。
参观完小提琴后,你的代码似乎有很多问题,而且你的问题也不清楚
例如
$(".pNumSubmit").click(function () {
//why x value not passed?
pNumCalc();
});
function pNumCalc(x) {
pNumGuess[x] = $(".pNumGuess").val();
if (pNumGuess[x] == pNumAns[x]) {
$(".message").html(pNumMessageRight[Math.floor(Math.random() * pNumMessageRight.length)]);
$(".pNumNext").html("Next Question >")
} else {
$(".message").html(pNumMessageWrong[Math.floor(Math.random() * pNumMessageWrong.length)]);
$(".pNumNext").html("Maybe The Next Question >")
}
}
请清除返回未定义的数组,以便其他人可以帮助您。如果查看给定fiddle中的源代码,您将看到pNumStore已经定义。