2010-07-27 111 views
3

我有一点问题。javascript中的布尔对象对于“false”参数返回true

我有我的ajax calss返回一个字符串的情况。

有时该字符串为“假” 我想该字符串值始终转换为布尔 我尝试新的布尔(thatValue)

但即使是“假”作为paremter返回true

有没有办法解决这个问题? ?除了我写我自己的自定义功能,如果“产品嫁接”,将返回false ..

感谢你这样做,你已经说明

回答

3

的最佳方式:

if(value === 'true') { 
    //do something 
} 

或者:

if(value !== 'false') { 
    //do something 
} 

你通过JavaScript的这里弱类型的限制,实际工作到你的缺点,在任何一个非空字符串将转换为true布尔值,即使ST戒指是"false"

为了得到它,并将其存储在别处使用,像这样的工作:

var myBool = value !== "false"; 
3

字符串始终是真实的,如果它包含了一些文本,即使该文本是“假的”。您可以使用三元运算符来检查它:

thatValue == "false" ? false : true 
相关问题