JavaScript通过if和else循环,我遗漏了什么?
出于某种原因,当我在firebug中调试和跟踪时,if和else都会执行。你知道这是什么原因吗 manager.getProductType计算为硬件JavaScript通过if和else循环,我遗漏了什么?,javascript,if-statement,Javascript,If Statement,出于某种原因,当我在firebug中调试和跟踪时,if和else都会执行。你知道这是什么原因吗 manager.getProductType计算为硬件 manager.TYPE_HARDWARE评估为HARDWARE出于某种原因,当我在firebug中调试和跟踪时,if和else都会执行。。。除非您两次调用代码,并且getProductType在其间发生更改,而不是使用该代码。一定是发生了什么事。似乎不可能两人都被处决了。你能在if之前、if中和else中放一个console.log来试试吗?一
manager.TYPE_HARDWARE评估为HARDWARE出于某种原因,当我在firebug中调试和跟踪时,if和else都会执行。。。除非您两次调用代码,并且getProductType在其间发生更改,而不是使用该代码。一定是发生了什么事。似乎不可能两人都被处决了。你能在if之前、if中和else中放一个console.log来试试吗?一个很好的经验法则是,如果你认为你看到不可能发生的事情,请仔细想想。代码不可能同时在if和else块中执行。也许你遗漏了一些东西。我发现Javascript经常有奇怪的bug,但这是我所见过的。我会尝试将manager.getProductType和manager.TYPE_硬件存储在它们自己的变量中,然后将它们与==进行比较。另外,如果您的实际代码在true条件下有更多内容,那么可能是该块中的语法不正确,并且您在某个地方缺少了一个}。
if (manager.getProductType() === manager.TYPE_HARDWARE) {
anotherManager.setTransactionType(manager.TYPE_HARDWARE);
} else {
anotherManager.clearAllTransactionTypes();
}