Javascript 如何将字符串转换为布尔值?

Javascript 如何将字符串转换为布尔值?,javascript,jquery,Javascript,Jquery,可能重复: 我有一个包含两个选项的选择列表,yes或no,类似于: <select size="1"> <option value="true">yes</option> <option value="false">no</option> </select> 现在我的问题是我们将通过$(“select”).val()得到的值是string和for 已禁用属性我们需要布尔值。所以我想知道有没

可能重复:

我有一个包含两个选项的选择列表,
yes
no
,类似于:

   <select size="1">
     <option value="true">yes</option>
     <option value="false">no</option>
   </select>
现在我的问题是我们将通过
$(“select”).val()
得到的值是
string
和for

已禁用
属性我们需要布尔值。所以我想知道有没有像这样的方法

pareInt
parseFloat
,通过它我们可以将字符串转换为布尔值?

尝试以下代码:

var myBool = myString == "true";
请尝试使用以下代码:

var myBool = myString == "true";

写你自己的怎么样

我对JavaScript语法并不十分熟悉,但请尝试以下方法:

function a(inputString)
    if(inputString == "true")
        return true;
    if(inputString == "false")
        return false;

我相信有更好的解决办法。这是我的想法。

写你自己的怎么样

var value = ('true' === $("select").val() );
我对JavaScript语法并不十分熟悉,但请尝试以下方法:

function a(inputString)
    if(inputString == "true")
        return true;
    if(inputString == "false")
        return false;
我相信有更好的解决办法。这张照片是从我的头顶拍下来的。

类似这样的照片

var value = ('true' === $("select").val() );
$(“选择”).val()==“真”

应该能做到这一点。

类似于

$(“选择”).val()==“真”


应该这样做。

取决于你想做多少次。如果在您的代码中到处都是,我会添加如下函数:

Boolean.parse = function (str) {
  switch (str.toLowerCase ()) {
    case "true":
      return true;
    case "false":
      return false;
    default:
      throw new Error ("Boolean.parse: Cannot convert string to boolean.");
  }
};

这取决于你想做多少次。如果在您的代码中到处都是,我会添加如下函数:

Boolean.parse = function (str) {
  switch (str.toLowerCase ()) {
    case "true":
      return true;
    case "false":
      return false;
    default:
      throw new Error ("Boolean.parse: Cannot convert string to boolean.");
  }
};

您可以使用第三个:

var num = +something; //toNumber
var str = something + ""; //toString
var bol = !!something; //toBoolean
这将使
0,”、false、null、undefined、NaN
变为
false
,其他所有内容变为
true

但是使用我的演绎能力,你需要类似于
“false”->false的东西,为此,你可以使用以下方法之一:

var bol = something === "true"; //false for anything different than true
var bol = something !== "false"; //true for anything different than false

您可以使用第三个:

var num = +something; //toNumber
var str = something + ""; //toString
var bol = !!something; //toBoolean
这将使
0,”、false、null、undefined、NaN
变为
false
,其他所有内容变为
true

但是使用我的演绎能力,你需要类似于
“false”->false的东西,为此,你可以使用以下方法之一:

var bol = something === "true"; //false for anything different than true
var bol = something !== "false"; //true for anything different than false

由于歧义,你应该指定你认为是真的或假的…本质上,所有非空字符串都是true,即使字符串
“false”
。你想这样吗?更具体地说,也许你想使用,因为歧义,你应该指定你认为是真的或假的…本质上,所有非空字符串都是true,即使字符串
“false”
。你想这样吗?请更具体一点。可能您不需要使用三元运算符,您可以直接使用相等结果:
var myBoolean=myString=='true'有人真的-1因为我的评论?这只是一个小小的改进,并不是dv:/@ajax333221的真正原因,你的答案和被接受的答案更优雅。另外,我不是很讨厌匿名向下投票者吗?三元运算符没有必要,您可以直接使用相等结果:
var myBoolean=myString=='true'有人真的-1因为我的评论?这只是一个小小的改进,并不是dv:/@ajax333221的真正原因,你的答案和被接受的答案更优雅。另外,我讨厌匿名的选民。