Js中的假值_ES5中定義的ToBoolean方法強制類型轉換後值為false

來源:互聯網
上載者:User

標籤:字串   程式   amp   轉換   doc   cti   javascrip   define   new   

 你不知道的Javascript(中)--ToBoolean

javascript中的值可以分為以下兩類:

1.可以被強制類型轉換為false的值

2.其他(被強制類型轉換為true的值)

假值---以下是js的ES規範中定義了的假值:

  • undefined
  • null
  • false
  • +0、-0和NaN
  • ""-Null 字元串

假值的不二強制類型轉換結果為false。一般除假值以外的都是真值。

假值對象--封裝了假值的對象

eg:

var a=new Boolean(false);

var b=new Boolean(0);

var c=new Boolean("");

【注】規範中規定“所有對象都是真值”,所以即使封裝的內容是假值,這些對象依舊是真值。

即:Boolean(a&&b&&c)==>true

【注意】在js代碼中會出現對象判斷為假的用法,但它實際上不屬於javascript語言的範疇。跟瀏覽器有關。瀏覽器在某些情況下在常規js文法上自己穿件了一些外來值,這些就是"假值對象"。
eg:

document.all,是一個類數組對象,包含了頁面上所有元素,由DOM提供(而不是由js引擎提供)給js程式使用。
用document.all在瀏覽器上強制類型轉換後的結果,可被用來判斷是否是ie(老版本的),這種判斷也許在以後會因為ie對document.all的支援的結束而出現隱患。

真值--假值列表之外的值

eg:

var a="false";     //字串false --true

var a="0";      //字串0  --true

var a="‘‘";      //字串‘   --true

Boolean(a&&b&&c)==>true。【注】只有Null 字元串轉換後是false。

eg:

var a=[];       //空數組 --true

var b={};      //Null 物件 --true

var c=function(){};  //空函數 --true

Boolean(a&&b&&c)==>true

 

Js中的假值_ES5中定義的ToBoolean方法強制類型轉換後值為false

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.