用JavaScript编写一个bool

时间:2011-01-04 14:37:21

标签: javascript

  

可能重复:
  How can I convert a string to boolean in JavaScript?

您好,

如何在Bool中转换字符串?

实施例: 布隆

“假”

我的JavaScript需要这个。

谢谢你的帮助!

4 个答案:

答案 0 :(得分:26)

你可以这样做:

var bool = !!someString;

如果你这样做,你会发现字符串常量"False"实际上是布尔true。为什么?因为那些是Javascript中的规则。任何不是undefinednull,空字符串("")或数字零的内容都被视为true

如果你想为字符串强加你自己的规则(一个可疑的想法,但它是你的软件),你可以编写一个带有查找表的函数来返回值:

function isStringTrue(s) {
  var falses = { "false": true, "False": true };
  return !falses[s];
}

也许

编辑 - 修正了拼写错误 - 谢谢@Patrick

答案 1 :(得分:24)

您可以使用类似的内容为字符串提供自己的自定义“is true”测试,同时保持其他类型的比较不受影响的方式:

function isTrue(input) {
    if (typeof input == 'string') {
        return input.toLowerCase() == 'true';
    }

    return !!input;
}

答案 2 :(得分:9)

function castStrToBool(str){
    if (str.toLowerCase()=='false'){
       return false;
    } else if (str.toLowerCase()=='true'){
       return true;
    } else {
       return undefined;
    }
}

......但我认为Jon的答案更好!

答案 3 :(得分:3)

function castBool(str) {
    if (str.toLowerCase() === 'true') {
        return true;
    } else if (str.toLowerCase() === 'false') {
        return false;
    }
    return ERROR;
}

ERROR是你想要的任何东西。