Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中将字符串转换为布尔值?_Javascript_Type Conversion_Code Behind - Fatal编程技术网

如何在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);