Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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_Jquery - Fatal编程技术网

带“的变量;“真的”;值不符合[变量]==”的要求;“真的”;javascript

带“的变量;“真的”;值不符合[变量]==”的要求;“真的”;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

我有一个变量声明为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) {
        $("#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()条件下检查布尔值的选项