沒有眼淚
          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  回復  更多評論
            
          主站蜘蛛池模板: 吴堡县| 武平县| 沙坪坝区| 无极县| 登封市| 聂拉木县| 保德县| 合山市| 同仁县| 明溪县| 高青县| 新余市| 寿光市| 叙永县| 阳春市| 竹溪县| 平阴县| 高密市| 太湖县| 图片| 白朗县| 阳江市| 明水县| 特克斯县| 革吉县| 诸城市| 思茅市| 巴彦县| 墨脱县| 巴林右旗| 晴隆县| 朔州市| 虞城县| 西畴县| 晋城| 克山县| 建昌县| 灵璧县| 南平市| 南康市| 增城市|