沒有眼淚
          Don't Cry!
          posts - 13,comments - 44,trackbacks - 0
              昨天在看Ext的源碼時發現了以下代碼attributes = attributes || {};一直以為js中的邏輯操作符返回的結果是boolean值即true或false,查了下文檔才發現其實不然.
              js的邏輯操作符有3種,即邏輯與(&&),邏輯或(||)和邏輯非(!).邏輯非始終返回一個boolean值,即true或false.而邏輯與和邏輯或則不一定返回boolean值.查了下文檔才明白邏輯與和邏輯或執行的規則:
          邏輯與(&&):
          1.先執行左邊的表達式,得到該表達式的值.
          2.嘗試將該值轉換成boolean.
          3.如果2的結果是false,則返回1中得到的值(如果該值不是false,而是一個其他的值,比如是個對象,則將返回這個對象而不是false),執行完畢.
          4.如果2的結果是true,執行右邊表達式并得到值.
          5.返回4中得到的值.

          邏輯或(||):
          1.先執行左邊的表達式,得到該表達式的值.
          2.嘗試將該值轉換成boolean.
          3.如果2的結果是true,則返回1中得到的值,執行完畢.
          4.如果2的結果是false,執行右邊表達式并得到值.
          5.返回4中得到的值.

          總結:邏輯與如果左邊是false,則整個表達式的值是左邊表達式的值,如果為true,則整個表達式的值是右邊表達式的值.
          邏輯或如果左邊是true,則整個表達式的值是左邊表達式的值,如果為false,則整個表達式的值是右邊表達式的值.
          posted on 2008-03-13 10:30 zhangchao 閱讀(829) 評論(1)  編輯  收藏 所屬分類: javascript

          FeedBack:
          # re: javascript中的邏輯操作符
          2008-03-17 21:31 | Pitey
          講得不錯,呵呵,最近也在研究Ext,是該好好補習一下js  回復  更多評論
            
          主站蜘蛛池模板: 五原县| 高安市| 汉川市| 那坡县| 阜康市| 民勤县| 汝阳县| 交城县| 长春市| 宁化县| 盱眙县| 富阳市| 温州市| 浙江省| 溆浦县| 望城县| 榆林市| 自治县| 施甸县| 电白县| 宿州市| 宁武县| 广安市| 泸西县| 怀宁县| 贺州市| 泗洪县| 西盟| 沈丘县| 吴堡县| 莱州市| 武山县| 石城县| 红原县| 巴彦县| 界首市| 阳新县| 娄底市| 衡阳县| 汶川县| 彭州市|