带“的变量;“真的”;值不符合[变量]==”的要求;“真的”;javascript
我有一个变量声明为true带“的变量;“真的”;值不符合[变量]==”的要求;“真的”;javascript,javascript,jquery,Javascript,Jquery,我有一个变量声明为true var g1 = sessionStorage.getItem("g1"); //true var g2 = sessionStorage.getItem("g2"); //false var g3 = sessionStorage.getItem("g3"); //false 但在我的职责范围内 function checkmonitogift() { console.log(g1); if (g1 == true) { $("#g
var g1 = sessionStorage.getItem("g1"); //true
var g2 = sessionStorage.getItem("g2"); //false
var g3 = sessionStorage.getItem("g3"); //false
但在我的职责范围内
function checkmonitogift() {
console.log(g1);
if (g1 == true) {
$("#g1").css({
"background-color": "rgba(176,5,8,.9)",
"cursor": "not-allowed"
});
$("#g1").html("OK");
}
if (g2 == false) {
$("#g2").css({
"background-color": "rgba(176,5,8,.9)",
"cursor": "not-allowed"
});
$("#g2").html("OK");
}
if (g3 == false) {
$("#g3").css({
"background-color": "rgba(176,5,8,.9)",
"cursor": "not-allowed"
});
$("#g3").html("OK");
}
}
控制台返回“true”,但它仍然不满足if语句的条件。getItem(“g2”)返回
“true”
(字符串),而不是true
(布尔值)
成功
var g1 = sessionStorage.getItem("g1") == "true" ; //true
var g2 = sessionStorage.getItem("g2") == "true"; //false
var g3 = sessionStorage.getItem("g3") == "true"; //false
sessionStorage.getItem(“g2”)
返回“true”
(字符串),而不是true
(布尔值)
成功
var g1 = sessionStorage.getItem("g1") == "true" ; //true
var g2 = sessionStorage.getItem("g2") == "true"; //false
var g3 = sessionStorage.getItem("g3") == "true"; //false
要将
字符串
与布尔值
我比较喜欢的两个方案是:
var trueStr = "true";
var g1 = (trueStr === sessionStorage.getItem("g1") );
var g2 = (trueStr === sessionStorage.getItem("g2") );
var g3 = (trueStr === sessionStorage.getItem("g3") );
或
然后您的变量将是
boolean
adn rest将正常工作。您可以做很多事情来比较string
和boolean
我比较喜欢的两个方案是:
var trueStr = "true";
var g1 = (trueStr === sessionStorage.getItem("g1") );
var g2 = (trueStr === sessionStorage.getItem("g2") );
var g3 = (trueStr === sessionStorage.getItem("g3") );
或
然后您的变量将是布尔型的,rest也可以正常工作。var g1=sessionStorage.getItem(“g1”) 这里的输出类型是string,所以不能像这样检查
if (g1 == true) {
将代码更改为
if (g1 == "true") {
或者,如果你觉得你得到的是布尔值,那么就这样做
if (g1) {
or
if (!g1) {
var g1=sessionStorage.getItem(“g1”) 这里的输出类型是string,所以不能像这样检查
if (g1 == true) {
将代码更改为
if (g1 == "true") {
或者,如果你觉得你得到的是布尔值,那么就这样做
if (g1) {
or
if (!g1) {
使用
var g1=JSON.parse(sessionStorage.getItem(“g1”))
“true”==true
与NaN==1
相同。使用var g1=JSON.parse(sessionStorage.getItem(“g1”)
“true”==true
与NaN==1
相同,或者如果您感觉得到的是布尔值”,但它们不是g1
正如您所说是一个字符串。当然,g1是一个字符串,但我只是提供了在if()条件下检查布尔值的选项“或者如果您感觉得到的是布尔值”,但它们不是g1
是一个字符串,正如您所说。当然,g1是一个字符串,但我只是提供了在if()条件下检查布尔值的选项