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 墻頭草 閱讀(566) 評論(0)  編輯  收藏

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


          網站導航:
           
          人人游戲網 軟件開發網 貨運專家
          主站蜘蛛池模板: 绍兴市| 班戈县| 高青县| 阿拉善左旗| 曲周县| 噶尔县| 金坛市| 卢龙县| 湖南省| 治多县| 全椒县| 永州市| 南岸区| 民勤县| 姜堰市| 尚志市| 静海县| 青州市| 仪征市| 广宗县| 峨山| 蒲城县| 杂多县| 惠东县| 兖州市| 和龙市| 延津县| 聊城市| 怀柔区| 垫江县| 阜南县| 娄烦县| 巫山县| 运城市| 广元市| 平利县| 嵊泗县| 东阿县| 墨脱县| 昂仁县| 克拉玛依市|