Javascript 如何在函数中禁用函数?

Javascript 如何在函数中禁用函数?,javascript,function,visualization,Javascript,Function,Visualization,我这里有一个游戏结束函数: function gameOver() { ctx.fillStyle = "#f00"; ctx.fillText ("GAME OVER!", 424, 236.25); } function Score() { ctx.fillStyle = "#000" ctx.font = "27px Ariel"; ctx.fillText ("Score: " + score, 18.89, 30); } 我这里还有一个评分

我这里有一个游戏结束函数:

function gameOver() {
    ctx.fillStyle = "#f00";
    ctx.fillText ("GAME OVER!", 424, 236.25);
} 
function Score() {
    ctx.fillStyle = "#000"
    ctx.font = "27px Ariel";
    ctx.fillText ("Score: " + score, 18.89, 30);
}
我这里还有一个评分函数:

function gameOver() {
    ctx.fillStyle = "#f00";
    ctx.fillText ("GAME OVER!", 424, 236.25);
} 
function Score() {
    ctx.fillStyle = "#000"
    ctx.font = "27px Ariel";
    ctx.fillText ("Score: " + score, 18.89, 30);
}
我想要的是,当我调用游戏结束函数时,我希望分数不可见。我该怎么做

我试过:

function gameOver() {
    ctx.fillStyle = "#f00";
    ctx.fillText ("GAME OVER!", 424, 236.25);
    Score() = "none";
}

但是它显然不起作用,哈哈。对不起,我对这个有点陌生。

我想你在gameOver函数之后调用了你的分数函数。首先调用score函数

您还可以(回答您的问题)将分数函数设置为其他值:

let Score=()=>{此处为原始Score函数体}

然后在gameOver中,您可以设置:


Score=()=>{};//空函数不执行任何操作

您在这里使用的
gameOver()
是更改样式和文本,然后立即调用覆盖样式和文本的
Score()
。只需将其从那里移除即可:)

您最好使用一个变量来保持游戏的当前状态

var state ="PLAYING";
function gameOver() {
    if(state!== "PLAYING") return;
    state = "GAME_OVER";
    ctx.fillStyle = "#f00";
    ctx.fillText ("GAME OVER!", 424, 236.25);
}
function Score() {
    if(state!== "PLAYING") return;
    ctx.fillStyle = "#000";
    ctx.font = "27px Ariel";
    ctx.fillText ("Score: " + score, 18.89, 30);
}

function playAgain() {
    state = "PLAYING";
}

如果仔细观察,
gameOver()
Score()
会在不同的位置“填充文本”。OP希望在游戏结束后,删除由
Score()
填充的文本。