国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript 中的 && 和 || 使用小結

2019-11-21 00:33:00
字體:
來源:轉載
供稿:網友

普通情況下的 && 和 || 比較簡單,這里不進行討論。

準備兩個對象用于下面的討論。

復制代碼 代碼如下:

var alice = {
name: "alice",
toString: function () {
return this.name;
}
}

var smith = {
name: "smith",
toString: function () {
return this.name;
}
}

在 javascript 中,對于 && 不僅僅可以用于 boolean 類型,也不僅僅返回 Boolean 類型的結果。
l 如果第一個操作數是 Boolean 類型,而且值為 false ,那么直接返回 false。
l 如果第一個操作數是 Boolean 類型,而且值為 true,另外一個操作數是 object 類型,那么將返回這個對象。
l 如果兩個操作數都是 object 類型,那么,返回第二個對象。
l 如果任何一個操作數是 null,那么,返回 null。
l 如果任何一個操作數是 NaN,那么返回 NaN。
l 如果任何一個操作數是 undefinded,那么返回 undefined。


alert(false && alice); // false
alert(true && alice); // alice

alert(alice && smith); // smith
alert(smith && alice); // alice

alert(null && alice); // null
alert(NaN && alice); // NaN
alert(undefined && alice); // undefined
alert(alice && undefined); // undefined

對于 || 來說,同樣也不僅僅用于 Boolean 類型,也不僅僅返回 Boolean 類型的結果。
事實上,null、undefined、NaN 都將被看作 false。而對象被當作 true。

l 如果第一個操作數是 boolean 類型,而且值為 true, 那么,直接返回 true。
l 如果第一個操作數是 Boolean 類型,而且值為 false ,第二個操作數為 object,那么返回 object 對象。
l 如果兩個操作數都是 object 類型,那么返回第一個對象。
l 如果兩個操作數都是 null,那么,返回 null。
l 如果兩個操作數都是 NaN,那么返回 NaN。
l 如果兩個操作數都是 undefined,那么,返回 undefined。
alert(false || alice);         // alice

alert(true || alice);          // true

alert(alice || smith);         // alice

alert(smith || alice);         // smith

alert(null || alice);       // alice

alert(alice || null);       // alice

alert(null || null);        // null

alert(NaN || alice);        // alice

alert(alice || NaN);        // alice

alert(NaN || NaN);          // NaN

alert(undefined || alice);     // alice

alert(alice || undefined);     // alice

alert(undefined || undefined); // undefined

不用搞得這么復雜 推薦大家看這部分的說明
a && b : 將a, b轉換為Boolean類型, 再執行邏輯與, true返回b, false返回a
a || b : 將a, b轉換為Boolean類型, 再執行邏輯或, true返回a, false返回b
轉換規則:
對象為true
非零數字為true
非空字符串為true
其他為false

相關文章可以參考下面幾篇,綜合一下
js 與或運算符 || && 妙用
js利用與或運算符優先級實現if else條件判斷表達式
javascript &&和||運算法的另類使用技巧

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 库尔勒市| 藁城市| 永修县| 伽师县| 乌拉特后旗| 林芝县| 武陟县| 延长县| 吴桥县| 柘荣县| 汝南县| 凯里市| 常山县| 微山县| 淅川县| 买车| 竹溪县| 沐川县| 安图县| 贞丰县| 石景山区| 肥西县| 阜康市| 偏关县| 五莲县| 龙山县| 湘潭县| 揭阳市| 秦安县| 营山县| 安阳县| 蚌埠市| 昂仁县| 三门峡市| 乌海市| 汝州市| 兰西县| 夏邑县| 穆棱市| 长治市| 浮山县|