If语句-简单的javascript如果不工作
if statement - simple javascript if not working
我是javascript的新手,我有一个看似简单的if/else语句的问题。
谁能告诉我为什么下面不工作请(我拔我的头发)
var is_expanded = false;
if (is_expanded==false) {
alert('no');
is_expanded = true;
} else {
alert('yes');
}
我总是得到'no'警告(我从来没有得到else部分)。
谢谢你的帮助
一切正常
当您说if
时,检查条件。然后它进入正确的块,在本例中是警告"no"的块。
在块执行后,条件不会被重新求值。这不是if
语句的工作方式,在我所知道的任何语言中都不是。
取决于你想做什么,还有其他的模式和结构可以帮助你,例如while
循环。
这是因为is_expanded
总是等于false
,因为您在if语句之前将其设置为false
。
else将不会触发,除非is_expanded
在if语句之前等于true
。
上一行代码是var is_expanded = false;
这意味着if (is_expanded==false)
将始终求值为true
。
这就是你得到的输出。你想要什么?
下次调用相同的方法时,由于第一行代码,is_expanded
的值再次重置为false
。然后再次提醒no
这很正常。您已经将变量is_expanded
设置为false
,因此在if语句中您总是输入alert('no');
部分。当您将变量设置为true,但不再执行任何if语句后
var is_expanded = false;
if (is_expanded==false) {
alert('no');
is_expanded = true;
} else {
alert('yes');
}
恭喜你!你的代码工作得很好,所以不要再大惊小怪了。
IF/ELSE的本质是每次传递只触发其中的一个。因此,您的代码检查is_expanded
是否为FALSE。如果它为假,它将运行If部分。如果不是,它将运行ELSE部分。
就像读英语一样。
If something, do this. Otherwise, do something else
即使您更改了其中一个块内变量的值,也不会有什么影响,因为一旦检查了该块,它就会继续前进。
- javascript如果图像不存在don't加载它
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- Javascript:如果数组有对象或不为空
- 如果未输入任何内容,则使 JavaScript 按钮不执行任何操作
- 在'用于'如果javascript中不存在对象属性,则循环
- 如果条件在JAVASCRIPT中不起作用
- javascript页面加载检查是否存在具有特定类的span(在<tr>下),如果不存在,则删除整个<
- javascript/jquery将尾部斜杠添加到url(如果不存在)
- 基本Javascript如果不起作用
- 使用 javascript/jquery/any 动态创建 html 页面客户端.如果不可能,如何使用 php/ajax
- 如果不在 JavaScript 中单击,如何让圆消失
- JavaScript 如果不是改变 CSS 的青春期
- 如果速记语句在 javascript 中不起作用,为什么以下扩展
- 如果没有事件,浏览器怎么知道它正在执行javaScript而不是常规HTML
- Javascript 在单个语句中多个语句,如果不起作用
- 否则,如果不在带有scrollTop的Javascript中工作
- 更改基于Javascript的样式表,如果不是语句
- 在中创建对象的Javascript(如果不继续)
- Javascript:如果不使用define prototype方法就可以实现继承,为什么还要使用它呢?
- If语句-简单的javascript如果不工作