JS 字符串转换成bool类型
在写js的时候,遇到了这样一个问题
var res = $(".test").attr("data-value");
console.log(res);
if(res === true){
console.log(123);
}else{
console.log(456);
}
打印出来的结果显示,res确实是true,但最终结果却总是456,在去掉一个等号写成弱等于后,结果照旧。
代码就这些,不可能是代码问题,那问题只可能出在判断上。
思考过后,选择了两种解决办法
第一种,修改等号后面的值,转换为字符串格式
var res = $(".test").attr("data-value");
console.log(res);
if(res === 'true'){
console.log(123);
}else{
console.log(456);
}
第二种,修改等号前面的值,转换为JavaScript 对象
var res = $(".test").attr("data-value");
console.log(res);
res = JSON.parse(res);
if(res === true){
console.log(123);
}else{
console.log(456);
}