将JS字符串false转换为布尔值的方法(推荐)
众所周知,在JS的世界里,0、-0、null、“”、false、undefined或NaN都可以自动转换为Boolean false,那么string的‘false’是不是false呢?如果(假)等于真,答案是否定的。
所以今天有一个SB问题,就是后台速度把引用传到前台,一般是这样写的。
0.背景
var hasAuth=$!auth//此授权通过velocity传输到前台
这样写有一个风险,就是如果后台忘记把这个参数传递给前台,会造成以下情况
var HaSauth=;//语法错误,因为;以前是空的。这是因为velocity没有参数,前台自然变成空白。
1、解决1
那么由于前后端没有分开,velocity忘记传到前台,如何解决这个问题呢?当当,我想了个办法,用单引号把变量括起来,这样后台不传参数,我也不怕。代码变成了这样
var hasAuth='$!auth ';//那就好。即使后台没有传到前台,我也不怕举报语法错误。
2.求解2
但是事情并没有到此结束,因为我发现如果后台没有忘记传递对前一阶段的引用,后台获得的权限不是真就是假,那么问题来了,代码被渲染成了下面的样纸。
var hasAuth=' true或者var hasAuth=' false那么下一个判决呢
1.var hasAuth=' trueIf(hasAuth){ //Hasauth此时为真} 2。var Hasauth=' false如果(哈苏思){ //哈苏思此时还是真的}今天是狗日,那怎么办!
3.解决方案3
我灵机一动,那么我用布尔构造法处理一下岂不是可以?我太聪明了,所以写了这个
var hasAuth=布尔值(' $!auth’);
还是和以前一样
1.当从后台到前台的身份验证为真时,布尔值(' $!auth')===布尔值(' true ')===true;var hasAuth=' trueIf(hasAuth){ //Hasauth此时为真} 2。当从背景到前景的身份验证为假时,布尔值(' $!auth')===布尔值(' false ')===true;var hasAuth=' false如果(哈苏斯){ //哈苏斯此时还是真的}今天是狗日,嗯
4.求解4
我查了w3c,发现解释如下
var myBoolean=new布尔值();//以下所有代码行将创建初始值为false的布尔对象。var myBoolean=new布尔值();var myBoolean=新布尔值(0);var myBoolean=新布尔值(null);var myBoolean=new Boolean(' ');var myBoolean=新布尔值(false);//false var myboolean=new toolean(nan),不带单引号;//以下所有代码行将创建初始值为true的布尔对象:var myBoolean=new Boolean(1);var myBoolean=新布尔值(true);var布尔值=新布尔值(' true ');var布尔值=新布尔值(' false ');//带单引号的字符串false等于true var my boolean=new boolean(' bill gates ');靠,这条路也想不通,乖一个休息哥,赶紧想注意!
5.解决最终解决方案
灵机一动,哇,那我可以拿琴弦跟琴弦比吗?
所以最终的检测方法如下
var hasAuth='$!auth '===' true1.$!当Auth为true时,Var hasAuth=' true '===' trueconsole . log(HaSauth);//true2。$!当Auth为false时,Var hasAuth=' false '===' trueconsole . log(HaSauth);//假
当然,你也可以按如下方式玩
函数(){ return (/^true$/i).测试(这个);};console.log('true '。bool());
以上将JS字符串false转换为boolean的方法(推荐)是边肖与大家分享的全部内容。希望能给大家一个参考,多支持我们。
版权声明:将JS字符串false转换为布尔值的方法(推荐)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。