Javascript 变量返回False,但if语句不返回';我不知道

Javascript 变量返回False,但if语句不返回';我不知道,javascript,if-statement,Javascript,If Statement,我有一个if语句,它应该在变量返回false时执行代码,但即使我检查并确保变量返回false,代码也不会执行。代码如下: 解决方案:我似乎不小心把if语句放错了位置,移动了它并修复了程序。谢谢所有帮助我解决问题的人 函数letterCheck(){ var wordToGuess=字谜; var letterToGuess=猜测; 控制台日志(letterToGuess); 匹配=假; 对于(x=0;x

我有一个if语句,它应该在变量返回false时执行代码,但即使我检查并确保变量返回false,代码也不会执行。代码如下:

解决方案:我似乎不小心把if语句放错了位置,移动了它并修复了程序。谢谢所有帮助我解决问题的人

函数letterCheck(){
var wordToGuess=字谜;
var letterToGuess=猜测;
控制台日志(letterToGuess);
匹配=假;
对于(x=0;x警报(“您赢了!”),100)
}
打破
}
}
}
//这是不起作用的if语句
如果(this.matched==false){
log(“您的猜测不正确!”);
零件++;
图形[第1部分]();
log('youhave',6个部分,'剩余的猜测不正确');
}
“匹配”和“this.matched”是两个不同的变量。“matched”是全局的,“this.matched”是函数的局部的


解决方法:在任何地方使用“匹配”或“this.matched”-不要混搭。

首先需要问一些基本问题。你在用什么编程语言

我假设您使用的是JavaScript,因为这是我想到的唯一一种具有
==
运算符的语言。标识运算符的行为与相等运算符的行为相同,只是没有进行类型转换。identity运算符要求所有类型必须是相同的类型才能被视为相等

因此,
=
相等运算符将在执行任何必要的类型转换后进行相等比较,而
==
标识运算符将不执行转换,因此如果两个值的类型不同,标识运算符将只返回false

两个运算符的执行速度大致相同,因此如果我是您,我将切换到相等运算符并重试。让我知道你得到了什么


参考:

至少根据此代码示例,此
不是您认为的那样。您是否在任何函数中使用该if条件?if语句的确切位置和运行时间,以及您如何检查此的值。匹配的?
这个
应该是什么,
窗口
?显然错过了。我通常在决定回应什么时会在标题中寻找这些信息。标签系统是专门用来传递这些信息的,包括标题中的语言在此时并不可取。只需点击一个标签,找到一种新的方式来寻找有趣的问题……显然,我在这里的次数不多,记不住这一点。只是在缓慢的日子,谢谢你的建议,但这个解决方案仍然不起作用。可能有一个错误我没有看到,并将继续处理。哪个函数
this.matched
是本地的?使用
this.matched
的表达式在提供的代码段中处于全局范围。感谢您的建议,但此解决方案仍然不起作用。可能有一个错误我没有看到,将继续处理。您在哪里调用letterCheck()?这完全取决于你的计划是如何组织的。您必须输入一个工作片段以获得帮助。目前,您的代码片段没有任何作用。