互聯網開(kāi)發&品牌全案設計(jì)

12年(nián) 實戰經驗,品質服務

怎麽區(qū)分(fēn)jquery中1個(gè)=和(hé)2個(gè)=以及3個(gè)=有(yǒu)什(shén)麽不(bù)同,如(rú)何使用(yòng),實例驗證

2018-01-23 關鍵詞: 1997

=,很(hěn)好(hǎo)理(lǐ)解就(jiù)是(shì)賦值的(de)意思例如(rú):

Var a=1;意思把1賦值給a

Console.log(a);輸出顯示是(shì)1

==(equality)等于, ===(identity)恒等,兩邊值類型相(xiàng)同時(shí),用(yòng)法等同于===;不(bù)同的(de)時(shí)候,要(yào)先進行(xíng)類型轉換,再比較。

===,不(bù)做(zuò)類型轉換,類型不(bù)同的(de)一(yī)定不(bù)等。

具體(tǐ)分(fēn)析:

先說(shuō) ===,這(zhè)個(gè)比較簡單。下(xià)面的(de)規則用(yòng)來(lái)判斷兩個(gè)值是(shì)否===相(xiàng)等:

<pre>

如(rú)alert('1'==1);//結果是(shì)true alert('1'===1);//結果是(shì)false

</pre>

1、如(rú)果類型不(bù)同,就(jiù)[不(bù)相(xiàng)等]

2、如(rú)果兩個(gè)都(dōu)是(shì)數(shù)值,并且是(shì)同一(yī)個(gè)值,那(nà)麽[相(xiàng)等](!例外(wài))的(de)是(shì),如(rú)果其中至少(shǎo)一(yī)個(gè)是(shì)NaN,那(nà)麽[不(bù)相(xiàng)等]。判斷一(yī)個(gè)值是(shì)否是(shì)NaN,隻能(néng)用(yòng)isNaN()來(lái)判斷。

3、如(rú)果兩個(gè)都(dōu)是(shì)字符串,每個(gè)位置的(de)字符都(dōu)一(yī)樣,那(nà)麽[相(xiàng)等];否則[不(bù)相(xiàng)等]

4、如(rú)果兩個(gè)值都(dōu)是(shì)true,或者都(dōu)是(shì)false,那(nà)麽[相(xiàng)等]

5、如(rú)果兩個(gè)值都(dōu)是(shì)null,或者都(dōu)是(shì)undefined,那(nà)麽[相(xiàng)等]

6、引用(yòng)類型比較,進行(xíng)“指針地(dì)址”比較,如(rú)果兩個(gè)值都(dōu)引用(yòng)同一(→yī)個(gè)對(duì)象或函數(shù),那(nà)麽[相(xiàng)等];否則[不(bù)相(xiàng)等]

再說(shuō) ==,根據以下(xià)規則:

<pre>

如(rú)alert(null==undefined);//結果是(shì)true alert(null===undefined);//結果是(shì)false 

</pre>

1、如(rú)果兩個(gè)值類型相(xiàng)同,進行(xíng) === 比較。

2、如(rú)果兩個(gè)值類型不(bù)同,他(tā)們可(kě)能(néng)相(xiàng)等。根據下(xià)面規則進行(xíng)類型轉換再比較:

a、如(rú)果一(yī)個(gè)是(shì)null、一(yī)個(gè)是(shì)undefined,那(nà)麽[相(xiàng)等],其他(tā)如(rú)”(空(kōng)字符串),false0都(dōu)不(bù)等。

b、如(rú)果一(yī)個(gè)是(shì)字符串,一(yī)個(gè)是(shì)數(shù)值,把字符串轉換成數(shù)值再進行(xíng)比較。

c、如(rú)果任一(yī)值是(shì) true,把它轉換成 1 再比較;如(rú)果任一(yī)值是(shì) false,把它轉換成 0 再比較。

d、如(rú)果一(yī)個(gè)是(shì)對(duì)象,另一(yī)個(gè)基本類型,把對(duì)象轉換≤成基礎類型的(de)值再比較。對(duì)象轉換成基礎類型,利用(yòng)它的(de)toString或者valueOf方法。js核心內(nèi)置類,會(huì)嘗試valueOf先于toString;例外(wài)的(de)是(shì)DateDate利用(yòng)的(de)是(shì)toString轉換。

對(duì)于Array,Object等高(gāo)級類型,==和(hé)===是(shì)沒有(yǒu)區(qū)别的(de)

<pre>

var a = [1,2,3];

var b = [1,2,3];

alert(a == b);  alert(a === b);  &nb sp;     // 兩個(gè)結果都(dōu)是(shì)false

alert(a.sort().toString() == b.sort().toString());  // 結果是(sh★ì)true

alert(a.sort().toString() === b.sort().toString());  &n∞bsp;    // 結果是(shì)true

 

var a = $(".editor");

var b = $(".editor");

console.log(a === b);

//結果是(shì) false

console.log(a.is(b));

//結果是(shì) true

</pre>

欄目 案例 售後 電(diàn)話(huà)