沒有眼淚
          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 閱讀(826) 評論(1)  編輯  收藏 所屬分類: javascript

          FeedBack:
          # re: javascript中的邏輯操作符
          2008-03-17 21:31 | Pitey
          講得不錯,呵呵,最近也在研究Ext,是該好好補習一下js  回復  更多評論
            
          主站蜘蛛池模板: 潞西市| 黄梅县| 天长市| 达日县| 镇沅| 云林县| 右玉县| 泾源县| 泗阳县| 岑巩县| 舒兰市| 绍兴县| 彝良县| 柯坪县| 孙吴县| 宝山区| 建始县| 文昌市| 南漳县| 丹江口市| 孝感市| 彭州市| 布拖县| 婺源县| 寻乌县| 蕲春县| 繁峙县| 堆龙德庆县| 济宁市| 青河县| 万州区| 绩溪县| 陕西省| 海安县| 石棉县| 靖江市| 衡南县| 彭阳县| 赤城县| 苍南县| 弋阳县|