1

我的代码再简单不过了……

if (iWant > thereAre){
    msg = "There's only "+thereAre+" left, but you want "+iWant
} else {
    gimmie
}

但有时它有效.. 有时它每次都执行 else{... 有时 if{ 每次... 我会将 > 切换为 < 然后它仍然会像以前一样运行....?

JS能破吗?我最终收到的消息是“只剩下 87 个,但你想要 2 个”……有时……有时效果很好。

iWant var 正在从表单帖子中提取

ThereAre var 正在从 MySql COUNT 中提取

请帮忙..我觉得我快疯了。

4

1 回答 1

2

有时变量可能是数字 4 或字符串“4”。

如果您想要数字比较,而不是字符串比较,那么您可以乘以 1 或使用 parseInt/parseFloat 来保证您正在处理数字。

if (1*iWant > 1*thereAre ){ 
  too much; 
} else {
  ok;
}

但是,如果以某种方式涉及到用户输入并且 iWant 是“2”或“2oops”而不是 2 或“2”,则此代码仍会起作用,但不会以有用的方式运行。

或者,如果这是一个问题,您可能想要检测非数字。

于 2013-06-05T19:18:50.877 回答