国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript 中 == 和 === 的區(qū)別

Chao / 948人閱讀

摘要:例如兩個(gè)引用類型判斷兩者之間的引用路徑。布爾值與數(shù)字比較時(shí),布爾值轉(zhuǎn)化成數(shù)字值,二者再進(jìn)行比較。根據(jù)運(yùn)算符的優(yōu)先級(jí),先執(zhí)行,直接轉(zhuǎn)化為布爾值空字符串,,,都是,其余都是再取反,故轉(zhuǎn)化為。最后,故結(jié)果為。

兩個(gè)操作數(shù)之間的 " == " 與 " === "

1、 兩個(gè)不同的基本數(shù)據(jù)類型: 如果兩個(gè)基本數(shù)據(jù)類型(Number、String、Boolean、Null、Undefined)不同,會(huì)將它們進(jìn)行數(shù)據(jù)類型轉(zhuǎn)化,再進(jìn)行比較。例如:

0 == ""                                                  // true
0 == "0"                                                 // true
1 == "1"                                                 // true
"0" == ""                                                // false

false == 0                                               // true
false == "0"                                             // true
false == "false"                                         // false
false == null                                            // false
true == null                                             // false
false == undefined                                       // false
true == undefined                                        // false
null == undefined                                        // true
NaN == NaN                                               // false

0 === ""                                                 // false
0 === "0"                                                // false
1 === "1"                                                // false

false === "0"                                            // false
null === undefined                                       // false

[] == false                                              // true
![] == false                                             // true
![] == []                                                // true
![] === []                                               // false

null === document.getElementById("ABC")                  // true(document.getElementById("ABC") 不存在)

2、 基本數(shù)據(jù)類型與引用數(shù)據(jù)類型: 將引用數(shù)據(jù)類型(function、object,其中object包含array)轉(zhuǎn)化(后臺(tái)自動(dòng)調(diào)用 Object.prototype.valueOf() )為它的原始值,再進(jìn)行比較。例如:

[1,2] == "0"                                            // true
function(){return ["1,2"]}() == "1,2"                   // true

[1,2] === "0"                                           // false
function(){return ["1,2"]}() === "1,2"                  // false

3、 兩個(gè)引用類型: 判斷兩者之間的引用路徑。例如:

[1,2] == [1,2]                                          // false
[1,2] === [1,2]                                         // false
總結(jié)

1、" == " 情況
一般轉(zhuǎn)化規(guī)則:(對(duì)象 => 字符串 => 數(shù)字值) 或 (布爾值 => 數(shù)字值)
(1)字符串與數(shù)字比較時(shí),字符串轉(zhuǎn)化成數(shù)字值,二者再進(jìn)行比較。
(2)布爾值與數(shù)字比較時(shí),布爾值轉(zhuǎn)化成數(shù)字值,二者再進(jìn)行比較。
(3)字符串與布爾值比較時(shí),二者全部轉(zhuǎn)化成數(shù)字值再進(jìn)行比較。
(4)對(duì)象與數(shù)字比較時(shí),對(duì)象先轉(zhuǎn)化成字符串,然后再轉(zhuǎn)化成數(shù)字值,與數(shù)字值進(jìn)行比較。
(5)對(duì)象與字符串比較時(shí),對(duì)象轉(zhuǎn)化成字符串,然后二者再進(jìn)行比較。
(6)對(duì)象和布爾值比較時(shí),對(duì)象先轉(zhuǎn)化成字符串,然后再轉(zhuǎn)化成數(shù)字值,布爾值直接轉(zhuǎn)化為數(shù)字,二者再進(jìn)行比較。
(7)nullundefined 二者相等,不能把二者轉(zhuǎn)化為其他值,二者與其他值比較返回 false
(8)![] == []。(根據(jù)運(yùn)算符的優(yōu)先級(jí),! 先執(zhí)行,直接轉(zhuǎn)化為布爾值(空字符串,NaN,0,null,undefined 都是 fasle,其余都是 true)再取反,故![] 轉(zhuǎn)化為 false。其余依照以上規(guī)則轉(zhuǎn)化。最后 0 == 0,故結(jié)果為 true。)

2、" === " 情況
(1)兩個(gè)值類型不同,就返回 fasle
(2)兩個(gè)值都是數(shù)值,并且是同一個(gè)值,那么為 true,另外:如果其中至少一個(gè)是NaN,那么為 fasle。(判斷一個(gè)值是否是 NaN,只能使用 isNaN() 來(lái)判斷);
(3)兩個(gè)值都是字符串,每個(gè)位置的字符都一樣,那么 true,否則 fasle
(4)兩個(gè)值都引用同一個(gè)對(duì)象或函數(shù),那么為true;否則 fasle
(5)兩個(gè)值都是 truefasle,那么 true,否則 fasle
(6)兩個(gè)值都是nullundefined,那么為true;否則 fasle

結(jié)論:推薦使用 “===”, 只要類型不一致,直接返回 fasle;“==” 會(huì)造成類型轉(zhuǎn)換再進(jìn)行比較, 不嚴(yán)謹(jǐn)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/106318.html

相關(guān)文章

  • 我所知道JavaScript之undefinednull區(qū)別

    摘要:是全局對(duì)象的一個(gè)屬性,當(dāng)聲明了一個(gè)變量而未初始化時(shí),得到的就是。作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對(duì)象。作為對(duì)象原型鏈的終點(diǎn)。表示缺少值,此處應(yīng)該有值,但未定義。因此和的值相等而類型不相等。數(shù)字運(yùn)算不相同這是由于約定的不同所決定的。 對(duì)于undefined和null我一直知道他們有很多區(qū)別,也知道一點(diǎn)關(guān)于他們的區(qū)別,但卻不具體系統(tǒng),因此總結(jié)了一下,主要心得如下: 我們要區(qū)分它們,首先...

    hatlonely 評(píng)論0 收藏0
  • Front-end-Developer-Interview-Questions

    摘要:前端工作面試問(wèn)題備注本包含了一些前端面試問(wèn)題用于考查候選者。不建議對(duì)單個(gè)候選者問(wèn)及每個(gè)問(wèn)題那需要好幾個(gè)小時(shí)。列舉不同的清除浮動(dòng)的技巧,并指出它們各自適用的使用場(chǎng)景。選擇器字符串,字符串,回調(diào)函數(shù),元素,對(duì)象,數(shù)組,元素?cái)?shù)組,對(duì)象等。 https://github.com/darcyclarke/Front-end-Developer-Interview-Questions 前端工作面...

    array_huang 評(píng)論0 收藏0
  • Front-end-Developer-Interview-Questions

    摘要:前端工作面試問(wèn)題備注本包含了一些前端面試問(wèn)題用于考查候選者。不建議對(duì)單個(gè)候選者問(wèn)及每個(gè)問(wèn)題那需要好幾個(gè)小時(shí)。列舉不同的清除浮動(dòng)的技巧,并指出它們各自適用的使用場(chǎng)景。選擇器字符串,字符串,回調(diào)函數(shù),元素,對(duì)象,數(shù)組,元素?cái)?shù)組,對(duì)象等。 https://github.com/darcyclarke/Front-end-Developer-Interview-Questions 前端工作面...

    shadajin 評(píng)論0 收藏0
  • Front-end-Developer-Interview-Questions

    摘要:前端工作面試問(wèn)題備注本包含了一些前端面試問(wèn)題用于考查候選者。不建議對(duì)單個(gè)候選者問(wèn)及每個(gè)問(wèn)題那需要好幾個(gè)小時(shí)。列舉不同的清除浮動(dòng)的技巧,并指出它們各自適用的使用場(chǎng)景。選擇器字符串,字符串,回調(diào)函數(shù),元素,對(duì)象,數(shù)組,元素?cái)?shù)組,對(duì)象等。 https://github.com/darcyclarke/Front-end-Developer-Interview-Questions 前端工作面...

    13651657101 評(píng)論0 收藏0
  • JavaScriptMapForEach區(qū)別

    摘要:示例下方提供了一個(gè)數(shù)組,如果我們想將其中的每一個(gè)元素翻倍,我們可以使用和來(lái)達(dá)到目的。注意,是不會(huì)返回有意義的值的。允許更改原始數(shù)組的元素。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件等眾多知名用戶的認(rèn)可。 譯者按: 慣用Haskell的我更愛(ài)map。 原文: JavaScript?—?Map vs. ForEach - What’s the difference bet...

    charles_paul 評(píng)論0 收藏0
  • undefined與null區(qū)別

    摘要:目前,和基本是同義的,只有一些細(xì)微的差別。表示沒(méi)有對(duì)象,即該處不應(yīng)該有值。作為對(duì)象原型鏈的終點(diǎn)。五新增持續(xù)更新中一般是意外情況產(chǎn)生的,則是有意為對(duì)象賦值來(lái)說(shuō)明這是一個(gè)空的對(duì)象的返回值是的類型是 摘自阮一峰博客,另附自己的理解分析。 大多數(shù)計(jì)算機(jī)語(yǔ)言,有且僅有一個(gè)表示無(wú)的值,比如,C語(yǔ)言的NULL,Java語(yǔ)言的null,Python語(yǔ)言的None,Ruby語(yǔ)言的nil。有點(diǎn)奇怪的是,J...

    defcon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<