昨天在看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 @
2008-03-13 10:30 zhangchao 閱讀(823) |
評論 (1) |
編輯 收藏
摘要: 引子
編程世界里只存在兩種基本元素,一個是數據,一個是代碼。編程世界就是在數據和代碼千絲萬縷的糾纏中呈現出無限的生機和活力。
數據天生就是文靜的,總想保持自己固有的本色;而代碼卻天生活潑,總想改變這個世界。
你看,數據代碼間的關系與物質能量間的關系有著驚人的...
閱讀全文
posted @
2008-03-05 11:07 zhangchao 閱讀(444) |
評論 (0) |
編輯 收藏
今天是2月22日,爸爸的生日。等了許久的報告終于出來了,情況很好.我想這是爸爸收到的最貴重的生日禮物了,勝過任何的物質。今天我也很高興,希望爸爸一天天的好起來.
posted @
2008-02-22 23:27 zhangchao 閱讀(193) |
評論 (0) |
編輯 收藏