首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的方法在不应该发生的情况下触发

我的方法在不应该发生的情况下触发
EN

Stack Overflow用户
提问于 2013-07-30 08:21:09
回答 2查看 103关注 0票数 0

这段代码似乎是通过将1添加到玩家1中循环的。直到我在第二个if语句中添加的分数是===为止。有人知道为什么吗?

代码语言:javascript
复制
pointScored: {
        startNextSet: function(Scorer) {
            if (gameController.bananasTaken < 3 && Scorer === "player1") {
                        console.log(gameController.player1.score);
                        gameController.player1.score += 1;
                    if (gameController.player1.score === 10 && 
                        gameController.bananasTaken === 0 &&
                        gameController.player1.bananaCount === 0) {
                            console.log(gameController.player1.score);
                            gameController.updatePlayerStats(gameController.Banana1, 20, gameController.canvas.height
                            - 20 - gameController.Banana1.height, gameController.player1, "left");
                            console.log("player 1's first point");


                    }

我目前正在学习如何使用调试器,但我想把这个留在这里,看看是否有人知道原因。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-30 08:30:53

您的值有可能被计算为字符串。===运算符不执行任何类型转换,这就是为什么它更快的原因。

考虑将您的评估更改为使用==。在another question中也出现了同样的问题。

我已经对您的代码进行了一些重构&使用了我前面建议的==符号。请试着运行它,并告诉我它是否有效。

代码语言:javascript
复制
pointScored:{
startNextSet: function(Scorer) {
    gc=gameController; //to save thy fingers from typing ache
if (gc.bananasTaken > 2 || Scorer !== "player1")
    return;

    console.log(gc.player1.score); // this logs 6 times from 0 to 5
    gc.player1.score += 1;
    if (gc.player1.score == 5 && gc.bananasTaken == 0) {
        alert(gc.player1.score); //*******!
        if(gc.player1.bananaCount == 0) {
            gc.updatePlayerStats(gc.Banana1, 20, gc.canvas.height - 20 - gc.Banana1.height, gc.player1, "left");
            console.log("player 1's first point");
        }
    }
}

}

票数 2
EN

Stack Overflow用户

发布于 2013-07-30 08:40:14

在我查看您的函数时,这个逻辑似乎需要在gameController对象中。

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

https://stackoverflow.com/questions/17941815

复制
相关文章

相似问题

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