我有一个json,它是用php中的ajax读取的。其中一个变量要么为true,要么为false。我在使用if语句时遇到了问题。
"batsman1": {
"Name": "Anvesh *",
"Runs": "0",
"Balls": "0",
"StrikeRate": "-",
"currentlyOnStrike": true
},
"batsman2": {
"Name": "Anuj ",
"Runs": "3",
"Balls": "2",
"StrikeRate": "150.00",
"currentlyOnStrike": false
},
JS:
var onstrike1 = data.batsman1.currentlyOnStrike;
var onstrike2 = data.batsman2.currentlyOnStrike;
if(onstrike1 == 'true'){
document.getElementById("onstrike1").innerHTML = "*";
}else{document.getElementById("onstrike1").innerHTML = onstrike1;}
if(onstrike2 == 'true'){
document.getElementById("onstrike2").innerHTML = "*";
}else{document.getElementById("onstrike2").innerHTML = onstrike2;}
这个脚本中总是显示false。我没看到什么?
JSON布尔值将被转换为Javascript布尔值,因此您只需:
if(onstrike1 === true)
我认为问题在于您正在将onstrike1与字符串进行比较。所以,
执行此操作
if(onstrike1)
或
if(onstrike1 === true)
而不是这个
if(onstrike1 == 'true')
您正在将onstrike1值与字符串进行比较,而true/false为布尔类型