2012-06-15 86 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

相關問題