2012-12-05 165 views
-3

我试图制作一个代码,它将从列表中选取一个随机图像,并要求用户尝试识别它。到目前为止,我可以生成图像,但尝试将字符串与数组元素进行比较时遇到了麻烦。将字符串与javascript中的数组元素进行比较

var imageArray=new Array() 
myImages[1]="image1.jpg" 
myImages[2]="image2.jpg" 
myImages[3]="image3.jpg" 

var randNum=Math.floor(Math.random()*imageArray.length); 

function pickImg() 
{ 
if {randNum==0) 
{ 
randNum=1; 
} 
document.write('<img src="'+imageArray[randNum]+'" border=0>'); 
} 

pickImg() 

function checkAns() 
{ 
var str = imageArray[randNum]; 
var n = str.search('textBox'); 
if(n = -1) 
{ 
alert{"Wrong Answer") 
} 
Else 
{ 
alert("Right Answer") 
} 
} 

对于第二个函数并比较这两个字符串,我感到茫然。感谢您的任何帮助。

+0

它应该是'如果(N == -1)' – janith

+0

...也应该是'else',不'Else' –

+0

@AlexanderPavlov该死, 有太多...... – xiaoyi

回答

1

。在你的代码中的错误

if(n = -1)//Assigns -1 as the value of 'n'(Used assignment operator here) 
{ 
    alert{"Wrong Answer") 
} 
Else 
{ 
    alert("Right Answer") 
} 

尝试更改代码以

if(n == -1)//Checking whether the value of 'n' is -1 or not(comparison) 
{ 
    alert("Wrong Answer") 
} 
else 
{ 
    alert("Right Answer") 
} 
+0

请花时间解释作业和比较。 =) –

+0

你的代码中还有一个语法错误。 '警报{' – xiaoyi

+0

感谢所有的回应!我试图将用户输入与数组元素的一部分进行匹配,以制作简单的记忆游戏。如果输入正确或不正确,页面将显示。 – Alex

3

假设你的输入有ID textBox,你应该使用:

var check = str.indexOf(document.getElementById('textBox').value); 
if(check == -1) 
{ 
... 
  • search预计正则表达式对象作为参数,而不是字符串
  • =操作分配值,而==操作比较
  • JS是区分大小写的:你要找的else,不Else
  • 缩进对可维护代码非常重要。
相关问题