3

我在玩javascript,我想知道你是否可以让所有大于-1的值都评估为true,而所有从-1到down的值都评估为false?

现在1 == true,如果你这样写,其他一切都等于假:

var i = 0;
if (i) {...} // I want this to be true

i = 1;
if (i) {...} // This is the only thing that is true

编辑:评估我的意思是我不进行比较,例如0 > -1。我希望 JavaScript 将数字强制转换为布尔值。

4

2 回答 2

1

你是这个意思?

if ( i > -1 ) {
    ....
}
于 2013-11-08T14:36:01.903 回答
1

不,您无法更改它,因为它内置在 JavaScript==运算符强制类型之间的值的方式中。

如果您有一个松散的等式表达式( ==),其中一个操作数是布尔值 ( trueor false) 而另一个是数字,JavaScript 引擎将尝试将布尔值转换为数字并比较结果。如果您尝试将其转换为数字,则转换为,这就是true为什么11 == true.

于 2013-11-08T14:39:07.597 回答