欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談javascript中的數(shù)據(jù)類型轉(zhuǎn)換

 更新時間:2016年12月27日 08:39:37   作者:前端小超人  
本文主要對javascript中的數(shù)據(jù)類型轉(zhuǎn)換進行介紹,具有一定的參考價值,下面跟著小編一起來看下吧

1、把其他的數(shù)據(jù)類型轉(zhuǎn)換為number類型

    Number()->嚴格

    parseFloat/parseInt ->非嚴格

    isNaN(value) 如果value值不是數(shù)字類型的,它是首先調(diào)用Number轉(zhuǎn)換為數(shù)字類型然后在判斷是否為有效的數(shù)字

    例如:

    Number("12px"); ->NaN

    parseInt("12px"); ->12

    isNaN("12"); ->false

    規(guī)律:

   1)把布爾類型轉(zhuǎn)換為數(shù)字的話 true->1  false->0

    2)把null/undefined轉(zhuǎn)換為數(shù)字 null->0  undefined->NaN  10+null=10   10+undefined=NaN

    3)把[]轉(zhuǎn)換為數(shù)字 首先調(diào)用數(shù)組的toString方法把[]->"",然后在使用Number方法把""->0

2、把其他的數(shù)據(jù)類型轉(zhuǎn)換為布爾類型

    Boolean

     !!

     ! 先轉(zhuǎn)換為布爾類型,然后在取反

    例如:

    !!1->true

    !!0->false

     ![]->false  !![]->true

    規(guī)律:

    只有0、NaN、null、undefined、""這五個轉(zhuǎn)換為布爾類型的時候是false,其余的轉(zhuǎn)換完成都是true

    特殊情況:

    如果你的條件判斷中只是單獨的一個值,它是首先把1轉(zhuǎn)換布爾類型(->true),在判斷是真還是假,如果是真條件成立,反之條件不成立

 if (1) { }
  if ("3px" * 3) {//->條件不成立 "3px" * 3=NaN ->false
  }
  if ("3px" + 3) {//->條件成立 "3px" + 3="3px3" ->true
  } 

    "+"在JS中不僅僅是數(shù)學(xué)運算,遇到字符串的時候?qū)儆谧址唇?/p>

    "-、*、/"在JS中只能是數(shù)學(xué)運算,遇到不是number類型的要強制轉(zhuǎn)換為number進行數(shù)學(xué)性運算

3、兩個值進行比較(==比較的,===比較數(shù)據(jù)類型不一樣不會進行默認的轉(zhuǎn)換),如果左右兩邊的數(shù)據(jù)類型不一樣,我們需要遵循一套法則,進行默認的數(shù)據(jù)類型轉(zhuǎn)換

    value1==value2

    1)對象==對象  比較的是自己存儲的內(nèi)存地址,如果內(nèi)存地址不一樣就不相等  []==[]->false 每一個空數(shù)組都是一個單獨的內(nèi)存地址

    2)對象==字符串 調(diào)用toString方法,將對象轉(zhuǎn)換為字符串  []==""->true   

    3)對象==布爾  對象轉(zhuǎn)換為數(shù)字(toString-Number),布爾也轉(zhuǎn)換為數(shù)字(true->1 false->0)

    []==false ->true  []->0 false->0 0==0->true

    ![]==false -> ![]先把空數(shù)組轉(zhuǎn)換為布爾類型然后在取反->false   false==false->true

    4)對象==數(shù)字 對象轉(zhuǎn)換為數(shù)字  []==0->true  []==1->false

    5)字符串==布爾  兩者都轉(zhuǎn)換為數(shù)字   "3"==true->false  "1"==true->true

    6)字符串==數(shù)字  字符串轉(zhuǎn)換為數(shù)字  ""==0->true 

    7)布爾==數(shù)字  布爾轉(zhuǎn)換為數(shù)字  true==1->true  true==2->false

    8)null==undefined ->true   null===undefined ->false 

      null/undefined和其他的任何值都不相等  null==0->false  

    9)NaN==NaN ->false  NaN和任何的值(包括自己)都不相等

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

最新評論