在JavaScript中投射一个布尔

可能重复:
如何在JavaScript中将字符串转换为布尔值?

嗨,

如何在Bool中投射字符串?

例如:“假”来布尔

我需要这个用于我的JavaScript。

谢谢你的帮助 !


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

......但我认为乔恩的回答更好!


你可以这样做:

var bool = !!someString;

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

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

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

也许。

编辑 - 修正了错字 - 谢谢@Patrick


你可以使用类似这样的东西来为字符串提供你自己的定制“真实”测试,同时让其他类型的比较不受影响:

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

    return !!input;
}
链接地址: http://www.djcxy.com/p/75069.html

上一篇: Cast a bool in JavaScript

下一篇: Convert string to Boolean in javascript