首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >切换大小写不适用于存储在数组中的图像

切换大小写不适用于存储在数组中的图像
EN

Stack Overflow用户
提问于 2013-05-19 01:30:12
回答 1查看 104关注 0票数 0

关于我之前的问题,我有一些图像(如果一个特定的图像有三个)是相同的,我想要出现一条消息,我遵循了上一个问题中的几个指导原则,但我仍然不能正常工作。

上一个问题:How to Make If statement for a specific Image source?

它总是打印else语句,即使x的3个图像出现,它只打印主要的消息,当y的3个图像出现(一次)或z时,同样的问题也会发生。任何帮助都将不胜感激。

新代码(Tad位):

代码语言:javascript
复制
function xyz()  { 

    if((document.test.test1.src == document.test.test2.src && document.test.test2.src == document.test.test3.src ))
        switch (document.test.test1.src == document.test.test2.src == document.test.test3.src) {
            case "x":
                document.test.banner.value =("3 for x")// Do stuff
                break;
            case "y":
                document.test.banner.value =("5 for y")
                break;
            case "z":
            document.test.banner.value =("8 for z")
            break;
        }

    else 
    {
        document.test.UserTokens.value=document.test.UserTokens.value-document.test.bet.value; 
        document.test.banner.value="No match - You lost ";
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-05-19 02:07:25

这里有一个问题:

代码语言:javascript
复制
switch (document.test.test1.src == document.test.test2.src == document.test.test3.src)

Switch语句计算您放入括号中的值。您正在比较.src,因此它将返回一个布尔值,供开关进行计算,而不是返回您希望的字符串。不需要在交换机中比较它们,因为我们已经知道它们都是相同的。我们只需要知道他们中的一个。

其次,我发现您使用语法(a == b == c非常有趣。我做了一些测试,结果是这样的。它等同于((a==b)==c)。它从左到右求值。首先是(a==b),它将返回一个布尔值。然后将该布尔值与c进行比较,我猜您的"c“不是布尔值,因此它将始终返回false

回顾你之前的问题

代码语言:javascript
复制
switch (document.test.test1.src) {
      case 'y':
        ........
        break;
      case 'x'
        ........
        break;
}

,正如dewd建议的那样,如果您决定坚持切换,似乎是一个合适的选择。

希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16627073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档