沒有眼淚
          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  回復  更多評論
            
          主站蜘蛛池模板: 五大连池市| 特克斯县| 嘉黎县| 大连市| 磐石市| 枣庄市| 拉萨市| 淄博市| 娄底市| 扶风县| 湘西| 印江| 多伦县| 奈曼旗| 平遥县| 和顺县| 大同县| 青龙| 华亭县| 隆尧县| 乌鲁木齐县| 柞水县| 饶平县| 平江县| 五寨县| 图木舒克市| 广汉市| 双辽市| 淳化县| 霍邱县| 遂溪县| 任丘市| 含山县| 凤庆县| 阿克陶县| 嫩江县| 霍山县| 庐江县| 松溪县| 清流县| 黑龙江省|