0 是邏輯的 false
1 是邏輯的 true
空字符串是邏輯的 false
null 是邏輯的 false
NaN 是邏輯的 false
字符串 'false' 是邏輯的 truejavascript
Boolean邏輯java
若是邏輯對象無初始值或者其值爲 0、-0、null、""、false、undefined 或者 NaN,那麼對象的值爲 false。不然,其值爲 true(即便當自變量爲字符串 "false" 時)。ide
下面的全部的代碼行均會建立初始值爲 false 的 Boolean 對象,輸出結果全是false。spa
<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>
下面的全部的代碼行均會創初始值爲 true 的 Boolean 對象,輸出結果全是true。code
<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>
補充:當時對於字符串 'false' 是邏輯的 true,我一直沒想明白,後來才知道是由於'false'是字符串,有了長度。腦殼一下就短路了。對象