【JS】布尔逻辑

  0 是逻辑的 false
  1 是逻辑的 true
  空字符串是逻辑的 false
  null 是逻辑的 false
  NaN 是逻辑的 false
  字符串 'false' 是逻辑的 true

Boolean逻辑

  如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)。

下面的所有的代码行均会创建初始值为 false 的 Boolean 对象,输出结果全是false。

<script type="text/javascript">
var myBoolean=new Boolean();
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean(0);
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean(null);
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean("");
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean(false);
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean(NaN);
document.write(myBoolean);
document.write("<br />");
</script>
False

下面的所有的代码行均会创初始值为 true 的 Boolean 对象,输出结果全是true。

<script type="text/javascript">
var myBoolean=new Boolean(1);
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean(true);
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean("true");
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean("false");
document.write(myBoolean);
document.write("<br />");

var myBoolean=new Boolean("Bill Gates");
document.write(myBoolean);
document.write("<br />");
</script>
True

 补充:当时对于字符串 'false' 是逻辑的 true,我一直没想明白,后来才知道是因为'false'是字符串,有了长度。脑袋一下就短路了。

posted @ 2014-05-13 11:56  Vivu  阅读(271)  评论(0编辑  收藏  举报