使正数评估为真,负为假

时间:2013-11-08 14:34:50

标签: javascript

我正在玩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将数字强制转换为布尔值。

2 个答案:

答案 0 :(得分:1)

你的意思是?

if ( i > -1 ) {
    ....
}

答案 1 :(得分:1)

不,你不能改变它,因为它构建了JavaScript ==运算符强制类型之间的值的方式。

如果您有a loose equality expression==)其中一个操作数是布尔值(truefalse)而另一个是数字,则JavaScript引擎将尝试将布尔值转换为数字并比较结果。 true converts to 1如果您尝试将其转换为数字,那就是1 == true的原因。