posts - 241,  comments - 116,  trackbacks - 0
          js中有=,==,===。這三者是有區別的。很容易區分=和==,只要學過程序設計的都知道。但對于===,可能就不是那么熟悉了。==和===都用在布爾表達式中,但2者有很大的區別。
          先說說===吧:
          ===表示的是絕對的相等。
          1.如果類型不相等就不等。
          2.如果兩個都是數值,并且是同一個值,判定相等。
          3.如果兩個都是字符串,每個位置的字符都一樣,那么相等;否則不相等。
          4.如果兩個值都是true,或者都是false,那么相等。
          5.如果兩個值都引用同一個對象或函數,那么相等;否則不相等。
          6.如果兩個值都是null,或者都是undefined,那么相等。
          tbw淘寶網
          再來看===:
          如果兩個值相等,肯定相等,如果兩個值不等,也可能是相等的,按一下情況進行判斷:
          1.如果一個是null、一個是undefined,那么相等。
          2.如果一個是字符串,一個是數值,把字符串轉換成數值再進行比較。
          3.如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。
          4.如果一個是對象,另一個是數值或字符串,把對象轉換成基礎類型的值再比較。對象轉換成基礎類型,利用它的toString或者valueOf 方法。js核心內置類,會嘗試valueOf先于toString;例外的是Date,Date利用的是toString轉換。非js核心的對象,例外。

          一般都往數值轉。淺談Css盒模型在FF和IE中的區別
          例子:
          "1" == true;是true。true轉成1,再把“1”轉成1,進行比較。

          簡而言之就是“==”只要求值相等。“===”要求值和類型都相等。===是嚴格的判斷。
          posted on 2011-08-26 10:16 墻頭草 閱讀(563) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          人人游戲網 軟件開發網 貨運專家
          主站蜘蛛池模板: 辽宁省| 鹤山市| 卫辉市| 长武县| 巫山县| 江山市| 秦皇岛市| 平原县| 太白县| 阳朔县| 吴堡县| 湟中县| 泌阳县| 台州市| 唐山市| 五华县| 石门县| 巴林左旗| 类乌齐县| 永泰县| 曲麻莱县| 泰安市| 乌兰察布市| 伊金霍洛旗| 海南省| 磴口县| 祁门县| 翁源县| 谢通门县| 涿州市| 河曲县| 广饶县| 大新县| 九寨沟县| 赞皇县| 保山市| 巍山| 易门县| 秭归县| 育儿| 泸西县|