在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中的规则。 任何不是undefined
, null
,空字符串( ""
)或数字零都被认为是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