JavaScript IF..ELSE条件未输出预期值

时间:2012-08-18 00:39:23

标签: javascript if-statement

我正在研究tutorials for Javascript。我正在测试Boolean()函数和If ... Else条件。

我在网站上只有一个按钮。当我单击按钮时,它会显示布尔变量(myvar)的当前状态以及相应的状态(myvartxt)(即false表示“关闭”,{{1} }表示“开”)。这样做的原因是因为我希望稍后切换LED开/关并且不希望它说假/真,而是开/关。

现在的问题是,当我点击按钮时,布尔值(myvar)的状态为false,这是正确的,但是当它应该说OFF时,myvartxt变量为ON。我只是不明白。有任何想法吗?感谢您的帮助!

快速测试代码here

true

3 个答案:

答案 0 :(得分:0)

代码if (myvar)错误,只需检查是否设置了myvar。你必须改变陈述

if (myvar.toString() == true)

答案 1 :(得分:0)

您正在使用new Boolean()创建新对象;和JavaScript中的对象评估为true

我认为,如果您放弃new关键字并仅使用Boolean()作为一项功能,您会发现行为更符合您的预期。

答案 2 :(得分:0)

首先,jQuery

这可以像这样重写:

// Perform logic when document is set and ready.
$(document).ready(function() { 
  var myvar = false; // No need for Boolean objects.
  $("demo").html(myvar.toString()); // Set the value of demo.
  myvar ? $("demo1").html("ON") : $("demo1").html("OFF"); // True/false ON/OFF in demo1
}

此外,JavaScript对于相等性测试来说很讨厌,看看here,如果有机会,请阅读this