034_等性运算符
1. 判斷兩個變量是否相等是程序設(shè)計中非常重要的運算。在處理原始值時, 這種運算相當簡單, 但涉及對象, 任務(wù)就稍有點復雜。
2. JavaScript提供了兩套等性運算符: 等號和非等號用于處理原始值, 全等號和非全等號用于處理對象。
3. 等號和非等號
3.1. 在JavaScript中, 等號由雙等號(==)表示, 當且僅當兩個運算數(shù)相等時, 它返回true。
3.2. 非等號由感嘆號加等號(!=)表示, 當且僅當兩個運算數(shù)不相等時, 它返回true。
3.3. 等號和非等號為確定兩個運算數(shù)是否相等, 這兩個運算符都會進行類型轉(zhuǎn)換(兩個運算數(shù)不是相同類型)。執(zhí)行類型轉(zhuǎn)換的規(guī)則如下:
- true、new Boolean(true)在等性運算中會嘗試轉(zhuǎn)為數(shù)字1; false、new Boolean(false)在等性運算中會嘗試轉(zhuǎn)為數(shù)字0。
- new Number()這一類的數(shù)字對象在等性運算中會嘗試轉(zhuǎn)為原始數(shù)字。
- 空字符串字面量和數(shù)字類型或布爾類型檢查等性, 它會轉(zhuǎn)為0; new String()和數(shù)字字面量或布爾字面量檢查等性, 它會轉(zhuǎn)為0。
- 字符串字面量和數(shù)字類型或布爾類型檢查等性, 會嘗試把整個字符串字面量轉(zhuǎn)為數(shù)字; 字符串對象和數(shù)字字面量或布爾字面量檢查等性, 會嘗試把字符串對象轉(zhuǎn)為數(shù)字。
- []和new Array()和數(shù)字字面量或布爾字面量檢查等性, 它會轉(zhuǎn)為0。
- 如果一個運算數(shù)是對象, 另一個是字符串字面量, 在檢查相等性之前, 要嘗試把對象轉(zhuǎn)換成字符串(調(diào)用對象的toString()方法轉(zhuǎn)成字符串類型)。
- 不能把 null 和 undefined 轉(zhuǎn)換成其他值。
3.4. 在比較時, 該運算符還遵守下列規(guī)則:
- 值null和undefined相等。
- 如果某個運算數(shù)是NaN, 等號將返回false, 非等號將返回true。
- 即使兩個數(shù)都是NaN, 等號仍然返回false, 因為根據(jù)規(guī)則, NaN不等于NaN。
- 兩個字符串變量的內(nèi)容相等, 這兩個變量相等(字符串'NaN'等于'NaN')。
- 空字符串字面量等于空字符串對象。
- 空字符串字面量等于空數(shù)組字面量和空數(shù)組對象。
- 空字符串對象不等于空數(shù)組字面量和空數(shù)組對象。
- 空數(shù)組字面量不等于空數(shù)組對象。
- 如果兩個運算數(shù)都是對象, 那么比較的是它們的引用值。如果兩個運算數(shù)指向同一對象, 那么等號返回true, 否則兩個運算數(shù)不等。
3.5. 例子
3.5.1 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>等號和非等號</title><style type="text/css">.span1 {position: absolute;left: 440px;}.span2 {position: absolute;left: 1400px;}</style></head><body><script type="text/javascript">var ua = undefined;var la = null;var ba = true, bb = false, bc = new Boolean(true), bd = new Boolean(false);var na = 0, nb = 1, nc = NaN, nd = Infinity, ne = -Infinity, nf = new Number(), ng = new Number(1);var sa = '', sb = '0', sc ='1', sd = '1abc', se = 'NaN', sf = 'Infinity', sg = '-Infinity', sh = '高性能JavaScript', si = '[object Object]', sj = new String(), sk = new String('1');var aa = [], ab = ['高性能JavaScript'], ac = new Array();var oa = {}, ob = {id: 1001, name: 'zhangsan'}, oc = new Object();document.write('值null和undefined相等:<br />');document.write('<span>(' + ua + ' == ' + ua + ') = ' + (ua == ua) + '</span><span class="span1">(' + ua + ' != ' + ua + ') = ' + (ua != ua) + '</span><br />');document.write('<span>(' + ua + ' == ' + la + ') = ' + (ua == la) + '</span><span class="span1">(' + ua + ' != ' + la + ') = ' + (ua != la) + '</span><br />');document.write('<span>(' + la + ' == ' + la + ') = ' + (la == la) + '</span><span class="span1">(' + la + ' != ' + la + ') = ' + (la != la) + '</span><hr />');document.write('NaN不等于任何值, 也不等于NaN:<br />');document.write('<span>(' + si + ' == ' + ua + ') = ' + (nc == ua) + '</span><span class="span1">(' + nc + ' != ' + ua + ') = ' + (nc != ua) + '</span><br />');document.write('<span>(' + nc + ' == ' + la + ') = ' + (nc == la) + '</span><span class="span1">(' + nc + ' != ' + la + ') = ' + (nc != la) + '</span><br />');document.write('<span>(' + nc + ' == ' + ba + ') = ' + (nc == ba) + '</span><span class="span1">(' + nc + ' != ' + ba + ') = ' + (nc != ba) + '</span><br />');document.write('<span>(' + nc + ' == ' + bb + ') = ' + (nc == bb) + '</span><span class="span1">(' + nc + ' != ' + bb + ') = ' + (nc != bb) + '</span><br />');document.write('<span>(' + nc + ' == ' + bc + ') = ' + (nc == bc) + '</span><span class="span1">(' + nc + ' != ' + bc + ') = ' + (nc != bc) + '</span><br />');document.write('<span>(' + nc + ' == ' + bd + ') = ' + (nc == bd) + '</span><span class="span1">(' + nc + ' != ' + bd + ') = ' + (nc != bd) + '</span><br />');document.write('<span>(' + nc + ' == ' + na + ') = ' + (nc == na) + '</span><span class="span1">(' + nc + ' != ' + na + ') = ' + (nc != na) + '</span><br />');document.write('<span>(' + nc + ' == ' + nb + ') = ' + (nc == nb) + '</span><span class="span1">(' + nc + ' != ' + nb + ') = ' + (nc != nb) + '</span><br />');document.write('<span>(' + nc + ' == ' + nc + ') = ' + (nc == nc) + '</span><span class="span1">(' + nc + ' != ' + nc + ') = ' + (nc != nc) + '</span><br />');document.write('<span>(' + nc + ' == ' + nd + ') = ' + (nc == nd) + '</span><span class="span1">(' + nc + ' != ' + nd + ') = ' + (nc != nd) + '</span><br />');document.write('<span>(' + nc + ' == ' + ne + ') = ' + (nc == ne) + '</span><span class="span1">(' + nc + ' != ' + ne + ') = ' + (nc != ne) + '</span><br />');document.write('<span>(' + nc + ' == ' + nf + ') = ' + (nc == nf) + '</span><span class="span1">(' + nc + ' != ' + nf + ') = ' + (nc != nf) + '</span><br />');document.write('<span>(' + nc + ' == ' + ng + ') = ' + (nc == ng) + '</span><span class="span1">(' + nc + ' != ' + ng + ') = ' + (nc != ng) + '</span><br />');document.write('<span>(' + nc + ' == ' + sa + ') = ' + (nc == sa) + '</span><span class="span1">(' + nc + ' != ' + sa + ') = ' + (nc != sa) + '</span><br />');document.write('<span>(' + nc + ' == ' + sb + ') = ' + (nc == sb) + '</span><span class="span1">(' + nc + ' != ' + sb + ') = ' + (nc != sb) + '</span><br />');document.write('<span>(' + nc + ' == ' + sc + ') = ' + (nc == sc) + '</span><span class="span1">(' + nc + ' != ' + sc + ') = ' + (nc != sc) + '</span><br />');document.write('<span>(' + nc + ' == ' + sd + ') = ' + (nc == sd) + '</span><span class="span1">(' + nc + ' != ' + sd + ') = ' + (nc != sd) + '</span><br />');document.write('<span>(' + nc + ' == ' + se + ') = ' + (nc == se) + '</span><span class="span1">(' + nc + ' != ' + se + ') = ' + (nc != se) + '</span><br />');document.write('<span>(' + nc + ' == ' + sf + ') = ' + (nc == sf) + '</span><span class="span1">(' + nc + ' != ' + sf + ') = ' + (nc != sf) + '</span><br />');document.write('<span>(' + nc + ' == ' + sg + ') = ' + (nc == sg) + '</span><span class="span1">(' + nc + ' != ' + sg + ') = ' + (nc != sg) + '</span><br />');document.write('<span>(' + nc + ' == ' + si + ') = ' + (nc == si) + '</span><span class="span1">(' + nc + ' != ' + si + ') = ' + (nc != si) + '</span><br />');document.write('<span>(' + nc + ' == ' + sj + ') = ' + (nc == sj) + '</span><span class="span1">(' + nc + ' != ' + sj + ') = ' + (nc != sj) + '</span><br />');document.write('<span>(' + nc + ' == ' + aa + ') = ' + (nc == aa) + '</span><span class="span1">(' + nc + ' != ' + aa + ') = ' + (nc != aa) + '</span><br />');document.write('<span>(' + nc + ' == ' + ab + ') = ' + (nc == ab) + '</span><span class="span1">(' + nc + ' != ' + ab + ') = ' + (nc != ab) + '</span><br />');document.write('<span>(' + nc + ' == ' + ac + ') = ' + (nc == ac) + '</span><span class="span1">(' + nc + ' != ' + ac + ') = ' + (nc != ac) + '</span><br />');document.write('<span>(' + nc + ' == ' + oa + ') = ' + (nc == oa) + '</span><span class="span1">(' + nc + ' != ' + oa + ') = ' + (nc != oa) + '</span><br />');document.write('<span>(' + nc + ' == ' + ob + ') = ' + (nc == ob) + '</span><span class="span1">(' + nc + ' != ' + ob + ') = ' + (nc != ob) + '</span><br />');document.write('<span>(' + nc + ' == ' + oc + ') = ' + (nc == oc) + '</span><span class="span1">(' + nc + ' != ' + oc + ') = ' + (nc != oc) + '</span><hr />');document.write('空字符串字面量和數(shù)字類型或布爾類型檢查等性, 它會轉(zhuǎn)為0; new String()和數(shù)字字面量或布爾字面量檢查等性, 它會轉(zhuǎn)為0:<br />');document.write('<div style="float: left;"');document.write('<span>(' + sa + ' == ' + ba + ') = ' + (sa == ba) + '</span><span class="span1">(' + sa + ' != ' + ba + ') = ' + (sa != ba) + '</span><br />');document.write('<span>(' + sa + ' == ' + bb + ') = ' + (sa == bb) + '</span><span class="span1">(' + sa + ' != ' + bb + ') = ' + (sa != bb) + '</span><br />');document.write('<span>(' + sa + ' == ' + bc + ') = ' + (sa == bc) + '</span><span class="span1">(' + sa + ' != ' + bc + ') = ' + (sa != bc) + '</span><br />');document.write('<span>(' + sa + ' == ' + bd + ') = ' + (sa == bd) + '</span><span class="span1">(' + sa + ' != ' + bd + ') = ' + (sa != bd) + '</span><br />');document.write('<span>(' + sa + ' == ' + na + ') = ' + (sa == na) + '</span><span class="span1">(' + sa + ' != ' + na + ') = ' + (sa != na) + '</span><br />');document.write('<span>(' + sa + ' == ' + nb + ') = ' + (sa == nb) + '</span><span class="span1">(' + sa + ' != ' + nb + ') = ' + (sa != nb) + '</span><br />');document.write('<span>(' + sa + ' == ' + nc + ') = ' + (sa == nc) + '</span><span class="span1">(' + sa + ' != ' + nc + ') = ' + (sa != nc) + '</span><br />');document.write('<span>(' + sa + ' == ' + nd + ') = ' + (sa == nd) + '</span><span class="span1">(' + sa + ' != ' + nd + ') = ' + (sa != nd) + '</span><br />');document.write('<span>(' + sa + ' == ' + ne + ') = ' + (sa == ne) + '</span><span class="span1">(' + sa + ' != ' + ne + ') = ' + (sa != ne) + '</span><br />');document.write('<span>(' + sa + ' == ' + nf + ') = ' + (sa == nf) + '</span><span class="span1">(' + sa + ' != ' + nf + ') = ' + (sa != nf) + '</span><br />');document.write('<span>(' + sa + ' == ' + ng + ') = ' + (sa == ng) + '</span><span class="span1">(' + sa + ' != ' + ng + ') = ' + (sa != ng) + '</span></div>');document.write('<div style="float: left; margin-left: 560px;"');document.write('<span>(' + sj + ' == ' + ba + ') = ' + (sj == ba) + '</span><span class="span2">(' + sj + ' != ' + ba + ') = ' + (sj != ba) + '</span><br />');document.write('<span>(' + sj + ' == ' + bb + ') = ' + (sj == bb) + '</span><span class="span2">(' + sj + ' != ' + bb + ') = ' + (sj != bb) + '</span><br />');document.write('<span>(' + sj + ' == ' + bc + ') = ' + (sj == bc) + '</span><span class="span2">(' + sj + ' != ' + bc + ') = ' + (sj != bc) + '</span><br />');document.write('<span>(' + sj + ' == ' + bd + ') = ' + (sj == bd) + '</span><span class="span2">(' + sj + ' != ' + bd + ') = ' + (sj != bd) + '</span><br />');document.write('<span>(' + sj + ' == ' + na + ') = ' + (sj == na) + '</span><span class="span2">(' + sj + ' != ' + na + ') = ' + (sj != na) + '</span><br />');document.write('<span>(' + sj + ' == ' + nb + ') = ' + (sj == nb) + '</span><span class="span2">(' + sj + ' != ' + nb + ') = ' + (sj != nb) + '</span><br />');document.write('<span>(' + sj + ' == ' + nc + ') = ' + (sj == nc) + '</span><span class="span2">(' + sj + ' != ' + nc + ') = ' + (sj != nc) + '</span><br />');document.write('<span>(' + sj + ' == ' + nd + ') = ' + (sj == nd) + '</span><span class="span2">(' + sj + ' != ' + nd + ') = ' + (sj != nd) + '</span><br />');document.write('<span>(' + sj + ' == ' + ne + ') = ' + (sj == ne) + '</span><span class="span2">(' + sj + ' != ' + ne + ') = ' + (sj != ne) + '</span><br />');document.write('<span>(' + sj + ' == ' + nf + ') = ' + (sj == nf) + '</span><span class="span2">(' + sj + ' != ' + nf + ') = ' + (sj != nf) + '</span><br />');document.write('<span>(' + sj + ' == ' + ng + ') = ' + (sj == ng) + '</span><span class="span2">(' + sj + ' != ' + ng + ') = ' + (sj != ng) + '</span></div>');document.write('<hr style="clear: left;" />');document.write('字符串字面量和數(shù)字類型或布爾類型檢查等性, 會嘗試把整個字符串字面量轉(zhuǎn)為數(shù)字; 字符串對象和數(shù)字字面量或布爾字面量檢查等性, 會嘗試把字符串對象轉(zhuǎn)為數(shù)字:<br />');document.write('<div style="float: left;"');document.write('<span>(' + sb + ' == ' + ba + ') = ' + (sb == ba) + '</span><span class="span1">(' + sb + ' != ' + ba + ') = ' + (sb != ba) + '</span><br />');document.write('<span>(' + sb + ' == ' + bb + ') = ' + (sb == bb) + '</span><span class="span1">(' + sb + ' != ' + bb + ') = ' + (sb != bb) + '</span><br />');document.write('<span>(' + sb + ' == ' + bc + ') = ' + (sb == bc) + '</span><span class="span1">(' + sb + ' != ' + bc + ') = ' + (sb != bc) + '</span><br />');document.write('<span>(' + sb + ' == ' + bd + ') = ' + (sb == bd) + '</span><span class="span1">(' + sb + ' != ' + bd + ') = ' + (sb != bd) + '</span><br />');document.write('<span>(' + sb + ' == ' + na + ') = ' + (sb == na) + '</span><span class="span1">(' + sb + ' != ' + na + ') = ' + (sb != na) + '</span><br />');document.write('<span>(' + sb + ' == ' + nb + ') = ' + (sb == nb) + '</span><span class="span1">(' + sb + ' != ' + nb + ') = ' + (sb != nb) + '</span><br />');document.write('<span>(' + sb + ' == ' + nc + ') = ' + (sb == nc) + '</span><span class="span1">(' + sb + ' != ' + nc + ') = ' + (sb != nc) + '</span><br />');document.write('<span>(' + sb + ' == ' + nd + ') = ' + (sb == nd) + '</span><span class="span1">(' + sb + ' != ' + nd + ') = ' + (sb != nd) + '</span><br />');document.write('<span>(' + sb + ' == ' + ne + ') = ' + (sb == ne) + '</span><span class="span1">(' + sb + ' != ' + ne + ') = ' + (sb != ne) + '</span><br />');document.write('<span>(' + sb + ' == ' + nf + ') = ' + (sb == nf) + '</span><span class="span1">(' + sb + ' != ' + nf + ') = ' + (sb != nf) + '</span><br />');document.write('<span>(' + sb + ' == ' + ng + ') = ' + (sb == ng) + '</span><span class="span1">(' + sb + ' != ' + ng + ') = ' + (sb != ng) + '</span></div>');document.write('<div style="float: left; margin-left: 560px;"');document.write('<span>(' + sc + ' == ' + ba + ') = ' + (sc == ba) + '</span><span class="span2">(' + sc + ' != ' + ba + ') = ' + (sc != ba) + '</span><br />');document.write('<span>(' + sc + ' == ' + bb + ') = ' + (sc == bb) + '</span><span class="span2">(' + sc + ' != ' + bb + ') = ' + (sc != bb) + '</span><br />');document.write('<span>(' + sc + ' == ' + bc + ') = ' + (sc == bc) + '</span><span class="span2">(' + sc + ' != ' + bc + ') = ' + (sc != bc) + '</span><br />');document.write('<span>(' + sc + ' == ' + bd + ') = ' + (sc == bd) + '</span><span class="span2">(' + sc + ' != ' + bd + ') = ' + (sc != bd) + '</span><br />');document.write('<span>(' + sc + ' == ' + na + ') = ' + (sc == na) + '</span><span class="span2">(' + sc + ' != ' + na + ') = ' + (sc != na) + '</span><br />');document.write('<span>(' + sc + ' == ' + nb + ') = ' + (sc == nb) + '</span><span class="span2">(' + sc + ' != ' + nb + ') = ' + (sc != nb) + '</span><br />');document.write('<span>(' + sc + ' == ' + nc + ') = ' + (sc == nc) + '</span><span class="span2">(' + sc + ' != ' + nc + ') = ' + (sc != nc) + '</span><br />');document.write('<span>(' + sc + ' == ' + nd + ') = ' + (sc == nd) + '</span><span class="span2">(' + sc + ' != ' + nd + ') = ' + (sc != nd) + '</span><br />');document.write('<span>(' + sc + ' == ' + ne + ') = ' + (sc == ne) + '</span><span class="span2">(' + sc + ' != ' + ne + ') = ' + (sc != ne) + '</span><br />');document.write('<span>(' + sc + ' == ' + nf + ') = ' + (sc == nf) + '</span><span class="span2">(' + sc + ' != ' + nf + ') = ' + (sc != nf) + '</span><br />');document.write('<span>(' + sc + ' == ' + ng + ') = ' + (sc == ng) + '</span><span class="span2">(' + sc + ' != ' + ng + ') = ' + (sc != ng) + '</span></div>');document.write('<br style="clear: left;" /><br />');document.write('<div style="float: left;"');document.write('<span>(' + se + ' == ' + ba + ') = ' + (se == ba) + '</span><span class="span1">(' + se + ' != ' + ba + ') = ' + (se != ba) + '</span><br />');document.write('<span>(' + se + ' == ' + bb + ') = ' + (se == bb) + '</span><span class="span1">(' + se + ' != ' + bb + ') = ' + (se != bb) + '</span><br />');document.write('<span>(' + se + ' == ' + bc + ') = ' + (se == bc) + '</span><span class="span1">(' + se + ' != ' + bc + ') = ' + (se != bc) + '</span><br />');document.write('<span>(' + se + ' == ' + bd + ') = ' + (se == bd) + '</span><span class="span1">(' + se + ' != ' + bd + ') = ' + (se != bd) + '</span><br />');document.write('<span>(' + se + ' == ' + na + ') = ' + (se == na) + '</span><span class="span1">(' + se + ' != ' + na + ') = ' + (se != na) + '</span><br />');document.write('<span>(' + se + ' == ' + nb + ') = ' + (se == nb) + '</span><span class="span1">(' + se + ' != ' + nb + ') = ' + (se != nb) + '</span><br />');document.write('<span>(' + se + ' == ' + nc + ') = ' + (se == nc) + '</span><span class="span1">(' + se + ' != ' + nc + ') = ' + (se != nc) + '</span><br />');document.write('<span>(' + se + ' == ' + nd + ') = ' + (se == nd) + '</span><span class="span1">(' + se + ' != ' + nd + ') = ' + (se != nd) + '</span><br />');document.write('<span>(' + se + ' == ' + ne + ') = ' + (se == ne) + '</span><span class="span1">(' + se + ' != ' + ne + ') = ' + (se != ne) + '</span><br />');document.write('<span>(' + se + ' == ' + nf + ') = ' + (se == nf) + '</span><span class="span1">(' + se + ' != ' + nf + ') = ' + (se != nf) + '</span><br />');document.write('<span>(' + se + ' == ' + ng + ') = ' + (se == ng) + '</span><span class="span1">(' + se + ' != ' + ng + ') = ' + (se != ng) + '</span></div>');document.write('<div style="float: left; margin-left: 560px;"');document.write('<span>(' + sf + ' == ' + ba + ') = ' + (sf == ba) + '</span><span class="span2">(' + sf + ' != ' + ba + ') = ' + (sf != ba) + '</span><br />');document.write('<span>(' + sf + ' == ' + bb + ') = ' + (sf == bb) + '</span><span class="span2">(' + sf + ' != ' + bb + ') = ' + (sf != bb) + '</span><br />');document.write('<span>(' + sf + ' == ' + bc + ') = ' + (sf == bc) + '</span><span class="span2">(' + sf + ' != ' + bc + ') = ' + (sf != bc) + '</span><br />');document.write('<span>(' + sf + ' == ' + bd + ') = ' + (sf == bd) + '</span><span class="span2">(' + sf + ' != ' + bd + ') = ' + (sf != bd) + '</span><br />');document.write('<span>(' + sf + ' == ' + na + ') = ' + (sf == na) + '</span><span class="span2">(' + sf + ' != ' + na + ') = ' + (sf != na) + '</span><br />');document.write('<span>(' + sf + ' == ' + nb + ') = ' + (sf == nb) + '</span><span class="span2">(' + sf + ' != ' + nb + ') = ' + (sf != nb) + '</span><br />');document.write('<span>(' + sf + ' == ' + nc + ') = ' + (sf == nc) + '</span><span class="span2">(' + sf + ' != ' + nc + ') = ' + (sf != nc) + '</span><br />');document.write('<span>(' + sf + ' == ' + nd + ') = ' + (sf == nd) + '</span><span class="span2">(' + sf + ' != ' + nd + ') = ' + (sf != nd) + '</span><br />');document.write('<span>(' + sf + ' == ' + ne + ') = ' + (sf == ne) + '</span><span class="span2">(' + sf + ' != ' + ne + ') = ' + (sf != ne) + '</span><br />');document.write('<span>(' + sf + ' == ' + nf + ') = ' + (sf == nf) + '</span><span class="span2">(' + sf + ' != ' + nf + ') = ' + (sf != nf) + '</span><br />');document.write('<span>(' + sf + ' == ' + ng + ') = ' + (sf == ng) + '</span><span class="span2">(' + sf + ' != ' + ng + ') = ' + (sf != ng) + '</span></div>');document.write('<br style="clear: left;" /><br />');document.write('<div style="float: left;"');document.write('<span>(' + sg + ' == ' + ba + ') = ' + (sg == ba) + '</span><span class="span1">(' + sg + ' != ' + ba + ') = ' + (sg != ba) + '</span><br />');document.write('<span>(' + sg + ' == ' + bb + ') = ' + (sg == bb) + '</span><span class="span1">(' + sg + ' != ' + bb + ') = ' + (sg != bb) + '</span><br />');document.write('<span>(' + sg + ' == ' + bc + ') = ' + (sg == bc) + '</span><span class="span1">(' + sg + ' != ' + bc + ') = ' + (sg != bc) + '</span><br />');document.write('<span>(' + sg + ' == ' + bd + ') = ' + (sg == bd) + '</span><span class="span1">(' + sg + ' != ' + bd + ') = ' + (sg != bd) + '</span><br />');document.write('<span>(' + sg + ' == ' + na + ') = ' + (sg == na) + '</span><span class="span1">(' + sg + ' != ' + na + ') = ' + (sg != na) + '</span><br />');document.write('<span>(' + sg + ' == ' + nb + ') = ' + (sg == nb) + '</span><span class="span1">(' + sg + ' != ' + nb + ') = ' + (sg != nb) + '</span><br />');document.write('<span>(' + sg + ' == ' + nc + ') = ' + (sg == nc) + '</span><span class="span1">(' + sg + ' != ' + nc + ') = ' + (sg != nc) + '</span><br />');document.write('<span>(' + sg + ' == ' + nd + ') = ' + (sg == nd) + '</span><span class="span1">(' + sg + ' != ' + nd + ') = ' + (sg != nd) + '</span><br />');document.write('<span>(' + sg + ' == ' + ne + ') = ' + (sg == ne) + '</span><span class="span1">(' + sg + ' != ' + ne + ') = ' + (sg != ne) + '</span><br />');document.write('<span>(' + sg + ' == ' + nf + ') = ' + (sg == nf) + '</span><span class="span1">(' + sg + ' != ' + nf + ') = ' + (sg != nf) + '</span><br />');document.write('<span>(' + sg + ' == ' + ng + ') = ' + (sg == ng) + '</span><span class="span1">(' + sg + ' != ' + ng + ') = ' + (sg != ng) + '</span></div>');document.write('<div style="float: left; margin-left: 560px;"');document.write('<span>(' + sk + ' == ' + ba + ') = ' + (sk == ba) + '</span><span class="span2">(' + sk + ' != ' + ba + ') = ' + (sk != ba) + '</span><br />');document.write('<span>(' + sk + ' == ' + bb + ') = ' + (sk == bb) + '</span><span class="span2">(' + sk + ' != ' + bb + ') = ' + (sk != bb) + '</span><br />');document.write('<span>(' + sk + ' == ' + bc + ') = ' + (sk == bc) + '</span><span class="span2">(' + sk + ' != ' + bc + ') = ' + (sk != bc) + '</span><br />');document.write('<span>(' + sk + ' == ' + bd + ') = ' + (sk == bd) + '</span><span class="span2">(' + sk + ' != ' + bd + ') = ' + (sk != bd) + '</span><br />');document.write('<span>(' + sk + ' == ' + na + ') = ' + (sk == na) + '</span><span class="span2">(' + sk + ' != ' + na + ') = ' + (sk != na) + '</span><br />');document.write('<span>(' + sk + ' == ' + nb + ') = ' + (sk == nb) + '</span><span class="span2">(' + sk + ' != ' + nb + ') = ' + (sk != nb) + '</span><br />');document.write('<span>(' + sk + ' == ' + nc + ') = ' + (sk == nc) + '</span><span class="span2">(' + sk + ' != ' + nc + ') = ' + (sk != nc) + '</span><br />');document.write('<span>(' + sk + ' == ' + nd + ') = ' + (sk == nd) + '</span><span class="span2">(' + sk + ' != ' + nd + ') = ' + (sk != nd) + '</span><br />');document.write('<span>(' + sk + ' == ' + ne + ') = ' + (sk == ne) + '</span><span class="span2">(' + sk + ' != ' + ne + ') = ' + (sk != ne) + '</span><br />');document.write('<span>(' + sk + ' == ' + nf + ') = ' + (sk == nf) + '</span><span class="span2">(' + sk + ' != ' + nf + ') = ' + (sk != nf) + '</span><br />');document.write('<span>(' + sk + ' == ' + ng + ') = ' + (sk == ng) + '</span><span class="span2">(' + sk + ' != ' + ng + ') = ' + (sk != ng) + '</span></div>');document.write('<hr style="clear: left;" />');document.write('[]和new Array()和數(shù)字字面量或布爾字面量檢查等性, 它會轉(zhuǎn)為0:<br />');document.write('<div style="float: left;"');document.write('<span>(' + aa + ' == ' + ba + ') = ' + (aa == ba) + '</span><span class="span1">(' + aa + ' != ' + ba + ') = ' + (aa != ba) + '</span><br />');document.write('<span>(' + aa + ' == ' + bb + ') = ' + (aa == bb) + '</span><span class="span1">(' + aa + ' != ' + bb + ') = ' + (aa != bb) + '</span><br />');document.write('<span>(' + aa + ' == ' + bc + ') = ' + (aa == bc) + '</span><span class="span1">(' + aa + ' != ' + bc + ') = ' + (aa != bc) + '</span><br />');document.write('<span>(' + aa + ' == ' + bd + ') = ' + (aa == bd) + '</span><span class="span1">(' + aa + ' != ' + bd + ') = ' + (aa != bd) + '</span><br />');document.write('<span>(' + aa + ' == ' + na + ') = ' + (aa == na) + '</span><span class="span1">(' + aa + ' != ' + na + ') = ' + (aa != na) + '</span><br />');document.write('<span>(' + aa + ' == ' + nb + ') = ' + (aa == nb) + '</span><span class="span1">(' + aa + ' != ' + nb + ') = ' + (aa != nb) + '</span><br />');document.write('<span>(' + aa + ' == ' + nc + ') = ' + (aa == nc) + '</span><span class="span1">(' + aa + ' != ' + nc + ') = ' + (aa != nc) + '</span><br />');document.write('<span>(' + aa + ' == ' + nd + ') = ' + (aa == nd) + '</span><span class="span1">(' + aa + ' != ' + nd + ') = ' + (aa != nd) + '</span><br />');document.write('<span>(' + aa + ' == ' + ne + ') = ' + (aa == ne) + '</span><span class="span1">(' + aa + ' != ' + ne + ') = ' + (aa != ne) + '</span><br />');document.write('<span>(' + aa + ' == ' + nf + ') = ' + (aa == nf) + '</span><span class="span1">(' + aa + ' != ' + nf + ') = ' + (aa != nf) + '</span><br />');document.write('<span>(' + aa + ' == ' + ng + ') = ' + (aa == ng) + '</span><span class="span1">(' + aa + ' != ' + ng + ') = ' + (aa != ng) + '</span></div>');document.write('<div style="float: left; margin-left: 560px;"');document.write('<span>(' + ac + ' == ' + ba + ') = ' + (ac == ba) + '</span><span class="span2">(' + ac + ' != ' + ba + ') = ' + (ac != ba) + '</span><br />');document.write('<span>(' + ac + ' == ' + bb + ') = ' + (ac == bb) + '</span><span class="span2">(' + ac + ' != ' + bb + ') = ' + (ac != bb) + '</span><br />');document.write('<span>(' + ac + ' == ' + bc + ') = ' + (ac == bc) + '</span><span class="span2">(' + ac + ' != ' + bc + ') = ' + (ac != bc) + '</span><br />');document.write('<span>(' + ac + ' == ' + bd + ') = ' + (ac == bd) + '</span><span class="span2">(' + ac + ' != ' + bd + ') = ' + (ac != bd) + '</span><br />');document.write('<span>(' + ac + ' == ' + na + ') = ' + (ac == na) + '</span><span class="span2">(' + ac + ' != ' + na + ') = ' + (ac != na) + '</span><br />');document.write('<span>(' + ac + ' == ' + nb + ') = ' + (ac == nb) + '</span><span class="span2">(' + ac + ' != ' + nb + ') = ' + (ac != nb) + '</span><br />');document.write('<span>(' + ac + ' == ' + nc + ') = ' + (ac == nc) + '</span><span class="span2">(' + ac + ' != ' + nc + ') = ' + (ac != nc) + '</span><br />');document.write('<span>(' + ac + ' == ' + nd + ') = ' + (ac == nd) + '</span><span class="span2">(' + ac + ' != ' + nd + ') = ' + (ac != nd) + '</span><br />');document.write('<span>(' + ac + ' == ' + ne + ') = ' + (ac == ne) + '</span><span class="span2">(' + ac + ' != ' + ne + ') = ' + (ac != ne) + '</span><br />');document.write('<span>(' + ac + ' == ' + nf + ') = ' + (ac == nf) + '</span><span class="span2">(' + ac + ' != ' + nf + ') = ' + (ac != nf) + '</span><br />');document.write('<span>(' + ac + ' == ' + ng + ') = ' + (ac == ng) + '</span><span class="span2">(' + ac + ' != ' + ng + ') = ' + (ac != ng) + '</span></div>');document.write('<hr style="clear: left;" />');document.write('兩個字符串變量的內(nèi)容相等, 這兩個變量相等(字符串"NaN"等于"NaN"):<br />');document.write('<span>(' + sa + ' == ' + sa + ') = ' + (sa == sa) + '</span><span class="span1">(' + sa + ' != ' + sa + ') = ' + (sa != sa) + '</span><br />');document.write('<span>(' + sa + ' == ' + sb + ') = ' + (sa == sb) + '</span><span class="span1">(' + sa + ' != ' + sb + ') = ' + (sa != sb) + '</span><br />');document.write('<span>(' + sa + ' == ' + sc + ') = ' + (sa == sc) + '</span><span class="span1">(' + sa + ' != ' + sc + ') = ' + (sa != sc) + '</span><br />');document.write('<span>(' + sa + ' == ' + sj + ') = ' + (sa == sj) + '</span><span class="span1">(' + sa + ' != ' + sj + ') = ' + (sa != sj) + '</span><br />');document.write('<span>(' + sa + ' == ' + sk + ') = ' + (sa == sk) + '</span><span class="span1">(' + sa + ' != ' + sk + ') = ' + (sa != sk) + '</span><br />');document.write('<span>(' + se + ' == ' + se + ') = ' + (se == se) + '</span><span class="span1">(' + se + ' != ' + se + ') = ' + (se != se) + '</span><hr />');document.write('字符串和對象等性:<br />');document.write('<span>(' + sh + ' == ' + ab + ') = ' + (sh == ab) + '</span><span class="span1">(' + sh + ' != ' + ab + ') = ' + (sh != ab) + '</span><br /><br />');document.write('<span>(' + si + ' == ' + aa + ') = ' + (si == aa) + '</span><span class="span1">(' + si + ' != ' + aa + ') = ' + (si != aa) + '</span><br />');document.write('<span>(' + si + ' == ' + ab + ') = ' + (si == ab) + '</span><span class="span1">(' + si + ' != ' + ab + ') = ' + (si != ab) + '</span><br />');document.write('<span>(' + si + ' == ' + ac + ') = ' + (si == ac) + '</span><span class="span1">(' + si + ' != ' + ac + ') = ' + (si != ac) + '</span><br />');document.write('<span>(' + si + ' == ' + oa + ') = ' + (si == oa) + '</span><span class="span1">(' + si + ' != ' + oa + ') = ' + (si != oa) + '</span><br />');document.write('<span>(' + si + ' == ' + ob + ') = ' + (si == ob) + '</span><span class="span1">(' + si + ' != ' + ob + ') = ' + (si != ob) + '</span><br />');document.write('<span>(' + si + ' == ' + oc + ') = ' + (si == oc) + '</span><span class="span1">(' + si + ' != ' + oc + ') = ' + (si != oc) + '</span><hr />');document.write('空字符串字面量等性:<br />');document.write('<span>(' + sa + ' == ' + sa + ') = ' + (sa == sa) + '</span><span class="span1">(' + sa + ' != ' + sa + ') = ' + (sa != sa) + '</span><br />');document.write('<span>(' + sa + ' == ' + aa + ') = ' + (sa == aa) + '</span><span class="span1">(' + sa + ' != ' + aa + ') = ' + (sa != aa) + '</span><br />');document.write('<span>(' + sa + ' == ' + ac + ') = ' + (sa == ac) + '</span><span class="span1">(' + sa + ' != ' + ac + ') = ' + (sa != ac) + '</span><hr />');document.write('空字符串對象等性:<br />');document.write('<span>(' + sj + ' == ' + aa + ') = ' + (sj == aa) + '</span><span class="span1">(' + sj + ' != ' + aa + ') = ' + (sj != aa) + '</span><br />');document.write('<span>(' + sj + ' == ' + ac + ') = ' + (sj == ac) + '</span><span class="span1">(' + sj + ' != ' + ac + ') = ' + (sj != ac) + '</span><hr />');document.write('空數(shù)組字面量不等于空數(shù)組對象:<br />');document.write('<span>(' + aa + ' == ' + ac + ') = ' + (aa == ac) + '</span><span class="span1">(' + aa + ' != ' + ac + ') = ' + (aa != ac) + '</span><hr />');document.write('Infinity和-Infinity等性:<br />');document.write('<span>(' + nd + ' == ' + nd + ') = ' + (nd == nd) + '</span><span class="span1">(' + nd + ' != ' + nd + ') = ' + (nd != nd) + '</span><br />');document.write('<span>(' + ne + ' == ' + ne + ') = ' + (ne == ne) + '</span><span class="span1">(' + ne + ' != ' + ne + ') = ' + (ne != ne) + '</span><br />');</script></body> </html>3.5.2. 效果圖
4. 全等號和非全等號
4.1. 全等號由三個等號表示(===), 比較兩個值是否相等, 只是它們在檢查相等性前不執(zhí)行類型轉(zhuǎn)換。
4.2. 非全等號由感嘆號加兩個等號(!==)表示, 比較兩個值是否不等, 也不執(zhí)行類型轉(zhuǎn)換。
4.3. 值null和undefined不全等。
4.4. 例子
4.4.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>全等號和非全等號</title></head><body><script type="text/javascript">var ua = undefined;var la = null;var ba = true, bb = false, bc = new Boolean(true), bd = new Boolean(false);var na = 0, nb = 1, nc = NaN, nd = Infinity, ne = -Infinity, nf = new Number(), ng = new Number(1);var sa = '', sb = '0', sc ='1', sd = '1abc', se = 'NaN', sf = 'Infinity', sg = '-Infinity', sh = '高性能JavaScript', si = '[object Object]', sj = new String();var aa = [], ab = ['高性能JavaScript'], ac = new Array();var oa = {}, ob = {id: 1001, name: 'zhangsan'}, oc = new Object();document.write('(' + ua + ' == ' + la + ') = ' + (ua == la) + ', (' + ua + ' != ' + la + ') = ' + (ua != la) + '<br />');document.write('(' + ua + ' === ' + la + ') = ' + (ua === la) + ', (' + ua + ' !== ' + la + ') = ' + (ua !== la) + '<br /><br />');document.write('(' + ba + ' == ' + bc + ') = ' + (ba == bc) + ', (' + ba + ' != ' + bc + ') = ' + (ba != bc) + '<br />');document.write('(' + ba + ' === ' + bc + ') = ' + (ba === bc) + ', (' + ba + ' !== ' + bc + ') = ' + (ba !== bc) + '<br /><br />');document.write('(' + bb + ' == ' + bd + ') = ' + (bb == bd) + ', (' + bb + ' != ' + bd + ') = ' + (bb != bd) + '<br />');document.write('(' + bb + ' === ' + bd + ') = ' + (bb === bd) + ', (' + bb + ' !== ' + bd + ') = ' + (bb !== bd) + '<br /><br />');document.write('(' + bb + ' == ' + na + ') = ' + (bb == na) + ', (' + bb + ' != ' + na + ') = ' + (bb != na) + '<br />');document.write('(' + bb + ' === ' + na + ') = ' + (bb === na) + ', (' + bb + ' !== ' + na + ') = ' + (bb !== na) + '<br /><br />');document.write('(' + bb + ' == ' + nf + ') = ' + (bb == nf) + ', (' + bb + ' != ' + nf + ') = ' + (bb != nf) + '<br />');document.write('(' + bb + ' === ' + nf + ') = ' + (bb === nf) + ', (' + bb + ' !== ' + nf + ') = ' + (bb !== nf) + '<br /><br />');document.write('(' + bb + ' == ' + sa + ') = ' + (bb == sa) + ', (' + bb + ' != ' + sa + ') = ' + (bb != sa) + '<br />');document.write('(' + bb + ' === ' + sa + ') = ' + (bb === sa) + ', (' + bb + ' !== ' + sa + ') = ' + (bb !== sa) + '<br /><br />');document.write('(' + bb + ' == ' + sb + ') = ' + (bb == sb) + ', (' + bb + ' != ' + sb + ') = ' + (bb != sb) + '<br />');document.write('(' + bb + ' === ' + sb + ') = ' + (bb === sb) + ', (' + bb + ' !== ' + sb + ') = ' + (bb !== sb) + '<br /><br />');document.write('(' + bb + ' == ' + sj + ') = ' + (bb == sj) + ', (' + bb + ' != ' + sj + ') = ' + (bb != sj) + '<br />');document.write('(' + bb + ' === ' + sj + ') = ' + (bb === sj) + ', (' + bb + ' !== ' + sj + ') = ' + (bb !== sj) + '<br /><br />');document.write('(' + bb + ' == ' + aa + ') = ' + (bb == aa) + ', (' + bb + ' != ' + aa + ') = ' + (bb != aa) + '<br />');document.write('(' + bb + ' === ' + aa + ') = ' + (bb === aa) + ', (' + bb + ' !== ' + aa + ') = ' + (bb !== aa) + '<br /><br />');document.write('(' + bb + ' == ' + ac + ') = ' + (bb == ac) + ', (' + bb + ' != ' + ac + ') = ' + (bb != ac) + '<br />');document.write('(' + bb + ' === ' + ac + ') = ' + (bb === ac) + ', (' + bb + ' !== ' + ac + ') = ' + (bb !== ac) + '<br /><br />');document.write('(' + nc + ' == ' + nc + ') = ' + (nc == nc) + ', (' + nc + ' != ' + nc + ') = ' + (nc != nc) + '<br />');document.write('(' + nc + ' === ' + nc + ') = ' + (nc === nc) + ', (' + nc + ' !== ' + nc + ') = ' + (nc !== nc) + '<br /><br />');document.write('(' + nd + ' == ' + nd + ') = ' + (nd == nd) + ', (' + nd + ' != ' + nd + ') = ' + (nd != nd) + '<br />');document.write('(' + nd + ' === ' + nd + ') = ' + (nd === nd) + ', (' + nd + ' !== ' + nd + ') = ' + (nd !== nd) + '<br />');document.write('(' + nd + ' == ' + sf + ') = ' + (nd == sf) + ', (' + nd + ' != ' + sf + ') = ' + (nd != sf) + '<br />');document.write('(' + nd + ' === ' + sf + ') = ' + (nd === sf) + ', (' + nd + ' !== ' + sf + ') = ' + (nd !== sf) + '<br /><br />');document.write('(' + ne + ' == ' + ne + ') = ' + (ne == ne) + ', (' + ne + ' != ' + ne + ') = ' + (ne != ne) + '<br />');document.write('(' + ne + ' === ' + ne + ') = ' + (ne === ne) + ', (' + ne + ' !== ' + ne + ') = ' + (ne !== ne) + '<br />');document.write('(' + ne + ' == ' + sg + ') = ' + (ne == sg) + ', (' + ne + ' != ' + sg + ') = ' + (ne != sg) + '<br />');document.write('(' + ne + ' === ' + sg + ') = ' + (ne === sg) + ', (' + ne + ' !== ' + sg + ') = ' + (ne !== sg) + '<br /><br />');document.write('(' + sh + ' == ' + ab + ') = ' + (sh == ab) + ', (' + sh + ' != ' + ab + ') = ' + (sh != ab) + '<br />');document.write('(' + sh + ' === ' + ab + ') = ' + (sh === ab) + ', (' + sh + ' !== ' + ab + ') = ' + (sh !== ab) + '<br /><br />');document.write('(' + si + ' == ' + ob + ') = ' + (si == ob) + ', (' + si + ' != ' + ob + ') = ' + (si != ob) + '<br />');document.write('(' + si + ' === ' + ob + ') = ' + (si === ob) + ', (' + si + ' !== ' + ob + ') = ' + (si !== ob) + '<br /><br />');</script></body> </html>4.4.2. 效果圖
總結(jié)