以下代码如何有时会评估为false?
(transport.responseText == '1' ||
transport.responseText == 'CARD_VALID')
我的JavaScript代码:
if (transport.responseText == '1' ||
transport.responseText == 'CARD_VALID') {
// do something.
}
else if (transport.responseText == 'CARD_INVALID' ||
transport.responseText == 'INVALID_CHECKSUM') {
// do something else....
}
else {
new Ajax.Request('/report_error.php?responseText='+transport.responseText);
// report error to user
}
当两个字符串完全相同但 JavaScript 字符串比较操作符 ==
返回 false 时,可能会发生什么?
==
没有错误,它不会失败。只要左右两边的字符串内容相同,它就会返回true。如果返回false,则可能是以下原因之一:1.这些字符串不同;2.其中一个字符串前后有空格;3.其中一个字符串中有隐藏的控制字符或Unicode字符。 - Eric Leschinski.trim()
解决了问题,但在比较其他值时也可以使用.toString()
。 - nodws