Javascript 布尔运算符未按预期工作

Javascript 布尔运算符未按预期工作,javascript,jquery,html,Javascript,Jquery,Html,我有一个函数,它返回的变量为true。第一个变量为false,如果事件发生,则变为true。通过此true状态,我希望执行另一个函数 我的Jquery代码是 =不是'equals'运算符,请改用=或== 使用showContents=true将值true分配给showContents。如果将showContents设置为false,它将永远不会进入If。此外,必须以结束变量showContents,不带, 也许如果你能更好地解释你想要实现的目标,我们就能更好地帮助你。如果陈述--> 如果(sho

我有一个函数,它返回的变量为true。第一个变量为false,如果事件发生,则变为true。通过此true状态,我希望执行另一个函数

我的Jquery代码是
=
不是'equals'运算符,请改用
=
==


使用
showContents=true
将值
true
分配给showContents。

如果将
showContents
设置为false,它将永远不会进入If。此外,必须以
结束变量
showContents
,不带

也许如果你能更好地解释你想要实现的目标,我们就能更好地帮助你。

如果陈述-->

如果(showContents=true){

完全错误。必须至少有两个等号,通常是三个(==,或===)。 另外,对于检查是否为真的if语句,您可以简单地将-->

如果(显示内容){

这被理解为-->

if(showContents==真){


即便如此,还有一个问题。对于变量showContents,您需要在末尾加一个分号,而不是逗号。

在适当的情况下,将
=
更改为
=
后,OP还可以将
if(showContents==true).
简化为
if(showContents)…
可能最好使用
==
showContents
永远不会为真,因为你不调用
show
,实际上,
showContents
将始终为真,因为你使用的是一个
=
符号而不是2。一个符号设置变量的内容,两个符号进行比较。@SterlingArcher i将其调用到我在这里没有提到的函数中
var showContents = false,

if(showContents = true){
   $('.element').click(function(){
     close();
   })
}

var show = function(){
   return showContents = true        
}