gpt4 book ai didi

javascript - JavaScript switch 语句中的 Firebug 调试令人困惑

转载 作者:行者123 更新时间:2023-11-30 18:35:11 27 4
gpt4 key购买 nike

我在 JavaScript 中有以下 switch 语句:

switch(scrollable.direction){
case "top" :
break;
case "left" :
break;
case "right" :
scrollable.select("."+lineCssClass).invoke("setStyle", {float: "right"});
break;
case "bottom" :
alert("Bottom scrolling not implemented yet ! Sorry !");
return;
}

(“调用”位是 prototype.js,但它与问题无关)

它在函数内部。我希望如果该值为 "bottom",则显示一条消息并且方法执行停止。

问题是如果值是例如"top"break被执行,但是执行跳转到了return;语句,而不是退出switch语句。

我实际上通过在返回后添加一个额外的 break; 解决了这个问题,这实际上是死代码,因为它永远不会被执行。

但我很想知道为什么它首先执行“return”?

编辑:对不起,“返回”实际上并没有执行。我正在使用 Firebug 单步执行代码,它实际上踩到了并突出显示了“return”行,但它没有被执行。

我的代码中还有其他问题导致它无法按预期工作,我错误地归咎于此。

最佳答案

我敢打赌,您的 scrollable.direction 给您的值不是真正的方向。

在您的 switch 语句中添加一个 default 子句(顺便说一句,您应该经常这样做)以检查它

switch(scrollable.direction){
/*...*/
case "bottom" :
alert("Bottom scrolling not implemented yet ! Sorry !");
return;
default:
console.log(scrollable.direction, 'is not a direction');
break;
}

关于javascript - JavaScript switch 语句中的 Firebug 调试令人困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com