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

简单的javascript如果不起作用

简单的javascript如果不起作用,javascript,if-statement,Javascript,If Statement,我是javascript新手,对一个看似简单的if/else语句有疑问 有人能告诉我为什么下面的东西不起作用吗 我总是得到“不”的警告(我从来没有得到其他部分) 为任何帮助干杯。这正按设计工作 当您说if时,会检查该条件。然后它进入正确的块,在本例中是警告“否”的块 执行块后,不会重新计算条件。这不是if语句的工作方式,我所知道的任何语言都不是这样 根据您想要做什么,还有其他模式和构造可以帮助您,例如循环。可能会显示您需要它的实际用例。这是因为在if语句之前,您将设置为false,所以展开后总是

我是javascript新手,对一个看似简单的if/else语句有疑问

有人能告诉我为什么下面的东西不起作用吗

我总是得到“不”的警告(我从来没有得到其他部分)


为任何帮助干杯。

这正按设计工作

当您说
if
时,会检查该条件。然后它进入正确的块,在本例中是警告“否”的块

执行块后,不会重新计算条件。这不是
if
语句的工作方式,我所知道的任何语言都不是这样


根据您想要做什么,还有其他模式和构造可以帮助您,例如循环。可能会显示您需要它的实际用例。

这是因为在if语句之前,您将
设置为
false
,所以
展开后总是等于
false


除非在if语句之前扩展
等于
true
,否则else不会触发。

这是正常的。您已将变量
设置为
false
,因此在if语句中始终输入
警报('no')零件。将变量设置为true但不再执行任何if语句后

var is_expanded = false;
if (is_expanded==false) {
    alert('no');
    is_expanded = true;
} else {
    alert('yes');
}
恭喜你!你的代码运行得很好,所以别再胡闹了

IF/ELSE的本质是每次只触发一个。因此,您的代码检查
是否已展开
是否为FALSE。如果为false,它将运行If部分。如果没有,它将运行ELSE部分

就像读英语一样

如果有问题,请执行此操作。否则,请执行其他操作


即使更改其中一个块内变量的值,也无所谓,因为一旦它检查该块,它就会继续移动

您前面的代码行说
var是\u expanded=false
这意味着
if(is_expanded==false)
将始终计算为
true

这正是你得到的输出。你期待什么

下次调用相同的方法时,由于您的第一行代码,
的值将再次被扩展
重置为
false
。然后,它将再次发出警报
no

var is_expanded = false;
if (is_expanded==false) {
    alert('no');
    is_expanded = true;
} else {
    alert('yes');
}