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

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


          網站導航:
           
          人人游戲網 軟件開發網 貨運專家
          主站蜘蛛池模板: 仙桃市| 木里| 晋中市| 汉川市| 三都| 中阳县| 华坪县| 抚顺市| 桑日县| 西乌珠穆沁旗| 湖北省| 瑞金市| 湘阴县| 封丘县| 永定县| 全椒县| 邹平县| 沭阳县| 晋州市| 凤冈县| 尚志市| 巍山| 常德市| 桓仁| 泰安市| 澎湖县| 蒙阴县| 达州市| 盐山县| 霍山县| 渝中区| 化德县| 合肥市| 达州市| 北海市| 名山县| 焦作市| 桐乡市| 伊宁市| 南投市| 孝感市|