我在编写的一些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中看到它.在所有情况下,交换机将控制权转移到最终的中断语句,这意味着完全跳过所有逻辑.我错过了什么?
我确信一个开关在Actionscript中使用===进行比较,因为JS和AS都遵循ECMAScript标准,我想这同样适用于JS.我的猜测是,这个值实际上不是一个数字,而是一个字符串.
您可以尝试在交换机中使用parseInt(msg.ResultType)或在案例中使用字符串.