如何在javascript中将字符串转换为布尔值?
我有一个公共属性从我的代码隐藏类返回到如何在javascript中将字符串转换为布尔值?,javascript,type-conversion,code-behind,Javascript,Type Conversion,Code Behind,我有一个公共属性从我的代码隐藏类返回到aspx页面: window.MyWIndow.IsFull = '<%=this.IsFull%>'; 现在,当我在javascript文件中使用它时,我有以下代码: var isShow = myself.IsFull; 这样一来,isShow要么是'True'要么是'False' 我需要在页面级别转换它,因此isShow是boolean而不是string 这样我就可以编写if-else逻辑了 我该怎么做呢?您可以使用JSON.parse
aspx
页面:
window.MyWIndow.IsFull = '<%=this.IsFull%>';
现在,当我在javascript文件中使用它时,我有以下代码:
var isShow = myself.IsFull;
这样一来,isShow
要么是'True'
要么是'False'
我需要在页面级别转换它,因此isShow
是boolean
而不是string
这样我就可以编写if-else
逻辑了
我该怎么做呢?您可以使用
JSON.parse('true')代码>
试试下面的例子
var result=['True','False']
var isShow=result[Math.round(Math.random())];
log(JSON.parse(isShow.toLowerCase())代码>如果您知道它总是返回字符串True和False,您可以使用
window.MyWindow.IsFull = '<%=this.IsFull%>' === "True";
window.MyWindow.IsFull=''==“True”;
替代方法是
window.MyWIndow.IsFull = <%=this.IsFull.ToString().ToLower()%>;
window.MyWIndow.IsFull=;
请注意,没有引号错误的答案是错误的
有几个选择。您可以使用内置的Boolean
像这样:
var string = myself.IsFull
var isShow = new Boolean(string.toLowercase);
或者使用逻辑推理
接线员两次这样说:
var string = myself.IsFull
var isShow = !(!string.toLowercase);
编辑:但是为什么????[![在此处输入图像描述][1][1]
[1] :
toLowerCase
是一个函数…同时检查拼写“尝试了不同的事情”。。。始终显示您尝试的内容如果某些浏览器返回“true”而不是“true”?@gene-这不取决于浏览器<代码>
将是“真”或“假”-没有其他内容这将假定您的意思是假。返回此信息的不是浏览器,而是他的后端。他在问题中非常明确地表示,他知道它将返回True
或False
。如果他不能依靠这个,那么他可能需要做一些字符串操作。@shadow-这是OP要求的!!嗯,原来是这样P如果您的isFull函数返回一个合法的布尔值,那么它不会改变您的大小写。但为了安全起见,您可以使用Jaramoda的想法,也可以使用'.toLowerCase()='true'如果我自己。IsFull
是一个字符串-“True”或“False”,如问题中所述。我修正了它:)toLowerCase是一个函数-新布尔值('False')
仍然是True,就像一样!(!'false')
-我建议您在测试代码时,测试所有可能的输入是否都会产生所需的输出-显然,您只测试了true!-非空字符串将始终为true,因为toLowercase是未定义的
-或false,任何给定该代码的字符串都将导致false。。。另一方面,toLowerCase是一个函数,使用toLowerCase会导致任何字符串变为true
——用作函数,toLowerCase()会导致任何非空字符串变为true,空字符串变为false
var string = myself.IsFull
var isShow = new Boolean(string.toLowercase);
var string = myself.IsFull
var isShow = !(!string.toLowercase);