2012-06-15 52 views
2

我知道,我知道,听起来很愚蠢,但我有这个变量传递和周围,我认为它的所有它失去了它作为一个布尔值,当我涉及到我的脚本的一部分时,需要采用这个字符串,并确保其读取为布尔值。因此,我想知道是否类似parseInt函数,但对于布尔值,因为我知道当我的int设法运行通过磨机并转化为字符串的原因时,我有时需要调用一种使其识别为整数再次。jQuery JavaScript是否有像布尔型的parseInt这样的函数

回答

3
String.prototype.parseBoolean = function() 
{ 
    return ("true" == this.toLowerCase()) ? true : false 
} 
+2

添加到原生对象的原型一般不赞成在这些天http://stackoverflow.com/questions/6877005/extending-object-prototype- JavaScript - 也可以通过摆脱三元语句并仅仅返回比较来简化。 – mkoryak

0
function stringToBoolean(string){ 
    if (typeof string === "undefined") { 
     console.log("stringToBoolean Undefined Error"); 
     return false; 
    } 
    if (typeof string === "boolean") return string; 
    switch(string.toLowerCase()) { 
     case "true": case "yes": case "1": return true; 
     case "false": case "no": case "0": case null: return false; 
     default: return false; 
    } 
} 
2

没有就没有的功能,有此捷径

var bool = !!something; 

或者,你可以做一个新的布尔是这样的:

var bool = Boolean(something) 

它的工作原理是强迫该值为布尔值。它将使用变量的truthy/falsy值。

,而我对这个话题,也有:

var floor = ~~3.1415; //floor = 3 
+0

if(布尔(“false”)){alert(“错误答案”); } – zypA13510

相关问题