如何在不声明其他变量更改的情况下更改javascript数组中的变量?
我有一个随机测验,为了检查答案,我使用了一个变量。但是,它只是跳到末尾,并将变量声明为“11” 检查它的警报代码为:如何在不声明其他变量更改的情况下更改javascript数组中的变量?,javascript,arrays,variables,Javascript,Arrays,Variables,我有一个随机测验,为了检查答案,我使用了一个变量。但是,它只是跳到末尾,并将变量声明为“11” 检查它的警报代码为: function display_alert() { if (celebrity===1) { alert("1") } else if (celebrity===2) { alert("2") } else if (celebrity===3) { alert("3") } else if (celebrity===4) { al
function display_alert()
{
if (celebrity===1)
{
alert("1")
}
else if (celebrity===2)
{
alert("2")
}
else if (celebrity===3)
{
alert("3")
}
else if (celebrity===4)
{
alert("4")
}
else if (celebrity===5)
{
alert("5")
}
else if (celebrity===6)
{
alert("6")
}
else if (celebrity===7)
{
alert("7")
}
else if (celebrity===8)
{
alert("8")
}
else if (celebrity===9)
{
alert("9")
}
else if (celebrity===10)
{
alert("10")
}
else if (celebrity===11)
{
alert("11")
}
else
{
alert("This is for debugging")
}
}
我认为这是因为多变量声明,但我不知道如何转义它们。为了澄清困惑,我正在为一个学校项目做一个名人测验,并想用每个数组的值来定义它。不是答案,只是一个评论。在代码中,您有:
aVocab[intCat]= new Array();
aVocab[intCat][0]="FIRST"
aVocab[intCat][1] = new Array()
aVocab[intCat][1][intIncr++]="a"; var celebrity = 1
aVocab[intCat][1][intIncr++]="b"; var celebrity = 2
...
aVocab[intCat][1][intIncr++]="k"; var celebrity = 11
它多次声明名人,每次都指定一个新值。多重声明不是有害的,只是多余的。在代码末尾,名人将有最后一个赋值,即11
我认为这是因为多变量声明,但我不知道如何转义它们
不是多个声明,而是多个赋值
您没有解释什么是aVocab或intCat,也没有说明intIncr是如何初始化的。无论如何,也许bfavaretto的评论是关于金钱的,你想要某种对象数组。试着在每个
var名人=n
语句周围放一个if语句,否则所有语句都会运行,只有最后一个才会起作用。名人变量当前不是数组的一部分,您只需将其重新声明11次。提示:使用switch语句使用名人
尝试实现什么?当你拥有它时,你会一次又一次地重新定义它,把它的值保留为11,所以你的函数做的正是你所期望的。应该发生什么?也许你正在数组中寻找对象?类似于aVocab[intCat][1][intIncr++]={key:'a',名人:1}
?请使用一个简单的函数display_alert(){alert(名人);}
(如果需要“调试警报”,可以检查类型、范围和完整性)这个测验应该是将你收到的问题随机化并显示出来,但我希望警报框显示答案,所以我给变量分配了11次,每个问题一次。至于您的问题,aVocab、intCat和intIncr都只是脚本的一部分,用于随机化数组结果,但效果很好。
aVocab[intCat]= new Array();
aVocab[intCat][0]="FIRST"
aVocab[intCat][1] = new Array()
aVocab[intCat][1][intIncr++]="a"; var celebrity = 1
aVocab[intCat][1][intIncr++]="b"; var celebrity = 2
...
aVocab[intCat][1][intIncr++]="k"; var celebrity = 11