当前位置:  开发笔记 > 编程语言 > 正文

JavaScript切换语句

如何解决《JavaScript切换语句》经验,为你挑选了1个好方法。

我在编写的一些JavaScript中遇到问题,其中Switch语句似乎没有按预期工作.

switch (msg.ResultType) {
  case 0:
    $('#txtConsole').val("Some Val 0");
    break;
  case 1:
    $('#txtConsole').val("Some Val 1");
    break;
  case 2:
    $('#txtConsole').text("Some Val 2");
    break;
}

ResultType是一个0-2的整数值,我可以在FireBug中看到它.在所有情况下,交换机将控制权转移到最终的中断语句,这意味着完全跳过所有逻辑.我错过了什么?



1> Juan Pablo C..:

我确信一个开关在Actionscript中使用===进行比较,因为JS和AS都遵循ECMAScript标准,我想这同样适用于JS.我的猜测是,这个值实际上不是一个数字,而是一个字符串.

您可以尝试在交换机中使用parseInt(msg.ResultType)或在案例中使用字符串.


总是指定parseInt的第二个参数!它是基数,所以你可能需要:parseInt(msg.ResultType,10); 如果你不提供它,它将尝试猜测基数并且会发生可怕的事情.
078也将被解释为八进制:parseInt("078")返回7. parseInt("08")返回0.这些可能是几乎不可能找到错误的来源.
推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有