JavaScript - 如何在If / Else语句中提取字符串

时间:2013-04-22 21:14:15

标签: javascript string variables if-statement

我正在尝试使用If / Else语句在搜索imgNumber变量后在屏幕上写入某些文本。出于某种原因,无论imgNumber变量中包含哪个文本,它都只写字符串'cockroaches'。

此外,imgNumber是一个随机字符串(它始终是myImages变量中的一个字符串)。

我在这里缺少什么?

<script type="text/javascript">

function changeImg(imgNumber) {
var myImages = ["images/homepage/homepage-header.jpg", "images/homepage/homepage-header-3.jpg", "images/homepage/homepage-header-5.jpg"];
var imgShown = document.body.style.backgroundImage;
var newImgNumber =Math.floor(Math.random()*myImages.length);
document.body.style.backgroundImage = 'url('+myImages[newImgNumber]+')';

var imgNumber = myImages[newImgNumber];

if (imgNumber = "images/homepage/homepage-header-5.jpg")
  {
  document.write('cockroaches');
  }
else if (imgNumber = "images/homepage/homepage-header-3.jpg")
  {
  document.write('ants');
  }
else
  {
  document.write('termites');
  } 

var n=myImages.indexOf("images/homepage/homepage-header-5.jpg");
document.write(n);

}
window.onload=changeImg;
</script>

3 个答案:

答案 0 :(得分:4)

您的if条件错误,您需要使用2个等号进行比较。所以:==不是= 您正在做的是将字符串的值分配给imgNumber变量......

您可以在MDN

上找到有关此内容的更多信息

答案 1 :(得分:0)

使用=分配值。要比较值,您需要==

答案 2 :(得分:0)

1)像之前的回答一样,使用== 2)将来,使用更正确的变体:

var imgNumber = Number("a4r t 4r43 43a b345b 123 cc gaeg4".replace(/\D+/g,""));
switch (imgNumber) {
 case 0:
  // code here
 break;
 case 1:
  // code here
 break;
 default:
  // code here
 break;
}