2018-01-23 關(guān)鍵詞:蘇州網(wǎng)站建設(shè) 蘇州網(wǎng)站制作 蘇州網(wǎng)站開發(fā) 蘇州做網(wǎng)站 2882
=,很好理解就是賦值的意思例如:
Var a=1;意思把1賦值給a
Console.log(a);輸出顯示是1;
==(equality)等于, ===(identity)恒等,兩邊值類型相同時,用法等同于===;不同的時候,要先進(jìn)行類型轉(zhuǎn)換,再比較。
===,不做類型轉(zhuǎn)換,類型不同的一定不等。
具體分析:
先說 ===,這個比較簡單。下面的規(guī)則用來判斷兩個值是否===相等:
<pre>
如alert('1'==1);//結(jié)果是true alert('1'===1);//結(jié)果是false |
</pre>
1、如果類型不同,就[不相等]
2、如果兩個都是數(shù)值,并且是同一個值,那么[相等];(!例外)的是,如果其中至少一個是NaN,那么[不相等]。判斷一個值是否是NaN,只能用isNaN()來判斷。
3、如果兩個都是字符串,每個位置的字符都一樣,那么[相等];否則[不相等]。
4、如果兩個值都是true,或者都是false,那么[相等]。
5、如果兩個值都是null,或者都是undefined,那么[相等]。
6、引用類型比較,進(jìn)行“指針地址”比較,如果兩個值都引用同一個對象或函數(shù),那么[相等];否則[不相等]。
再說 ==,根據(jù)以下規(guī)則:
<pre>
如alert(null==undefined);//結(jié)果是true alert(null===undefined);//結(jié)果是false |
1、如果兩個值類型相同,進(jìn)行 === 比較。
2、如果兩個值類型不同,他們可能相等。根據(jù)下面規(guī)則進(jìn)行類型轉(zhuǎn)換再比較:
a、如果一個是null、一個是undefined,那么[相等],其他如”(空字符串),false,0都不等。
b、如果一個是字符串,一個是數(shù)值,把字符串轉(zhuǎn)換成數(shù)值再進(jìn)行比較。
c、如果任一值是 true,把它轉(zhuǎn)換成 1 再比較;如果任一值是 false,把它轉(zhuǎn)換成 0 再比較。
d、如果一個是對象,另一個基本類型,把對象轉(zhuǎn)換成基礎(chǔ)類型的值再比較。對象轉(zhuǎn)換成基礎(chǔ)類型,利用它的toString或者valueOf方法。js核心內(nèi)置類,會嘗試valueOf先于toString;例外的是Date,Date利用的是toString轉(zhuǎn)換。
對于Array,Object等高級類型,==和===是沒有區(qū)別的
<pre>
var a = [1,2,3];
var b = [1,2,3];
alert(a == b); alert(a === b); // 兩個結(jié)果都是false
alert(a.sort().toString() == b.sort().toString()); // 結(jié)果是true
alert(a.sort().toString() === b.sort().toString()); // 結(jié)果是true
var a = $(".editor");
var b = $(".editor");
console.log(a === b);
//結(jié)果是 false
console.log(a.is(b));
//結(jié)果是 true
</pre>
180 1557 7818
基礎(chǔ)型網(wǎng)站建設(shè)營銷型網(wǎng)站設(shè)計品牌型網(wǎng)站建設(shè)高端定制網(wǎng)站設(shè)計定制系統(tǒng)開發(fā)
細(xì)致入微的前期服務(wù)
精準(zhǔn)的策劃服務(wù)
精湛的網(wǎng)頁設(shè)計
穩(wěn)定 可靠 極速的域名和服務(wù)器
任何問題,24小時回復(fù)并處理
版權(quán)所有:蘇州謝謝網(wǎng)絡(luò)傳媒有限公司 蘇ICP備11087090號