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

資訊專欄INFORMATION COLUMN

Javascripit類型轉換比較那點事兒,雙等號(==)

Steve_Wang_ / 830人閱讀

摘要:同理,若為,返回的結果若為或者,且為,返回的結果。同理,若為或者,且為,返回的結果是對象轉換基本類型的方法。看個例子根據上述規則來解析為,上式為第條上式為第條上式為,上式為第條上式為

前不久因為一個項目設計的問題,煩心了好幾天,為了不留坑擁抱強類型語言特點,還是選擇了"==="作為數據判斷是否相等,對于"=="今天來探究一下貓膩(弱類型的JavaScript的坑真的太多了,typescript真香)

"==" 操作符

這個操作符相信學過開發的人完全不陌生,對于強類型語言我這兒就不做過多描述,咱們這兒就鉆JavaScript的牛角尖

x == y,x,y都表示一個值,這個操作符返回的是bool值true或者false;

對于這個操作有相對應的比較方式(對于所有的JavaScript類型):

1.若type(x)和type(y)相同,則:
    a.若type(x)為undefined,返回true
    b.若type(x)為null,返回true
    c.若type(x)為number,則:
        i.若 x 為NaN,返回false
        ii.若 y 為NaN,返回false
        iii.若 x , y 為相同數值,返回true
        iv.若 x 為 +0且 y 為 -0,返回true
        v.若 x 為 -0且 y 為 +0,返回true
    d.若type(x)為string,則當 x , y 完全為相同字符序列的時候(長度和相同位置的字符一樣)返回true
    e.若type(x)為boolean,當 x , y 同為true返回true,否則返回false
 2.若 x 為null且 y 為undefined,返回true
 3.若 x 為undefined且 y 為null,返回true
 4.若type(x)為number且type(y)為string,返回x == ToNumber(y)的結果
 5.若type(x)為string且type(y)為number,返回ToNumber(x) == y的結果
 6.若type(x)為boolean,返回ToNumber(x) == y的結果。同理,若type(y)為boolean,返回ToNumber(y) == x的結果
 7.若type(x)為string或者number,且type(y)為object,返回x == ToPrimitive(y)的結果。同理,若type(y)為string或者number,且type(x)為object,返回y == ToPrimitive(x)的結果

ToPrimitive是對象轉換基本類型的方法。

看個例子:

[] == ![] // true
根據上述規則來解析:

1.![]為false,上式為: [] == false

2.第6條:上式為: [] == ToNumber(false) => [] == 0,

3.第7條:上式為:ToPrimitive([]) == 0,

4.[].toString() = "",上式為:"" == 0,

5.第4條:上式為:0 == 0 => true

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/100494.html

相關文章

  • javascript變量運算符詳解

    摘要:代碼示例等號檢查,類型轉換后返回全等檢查,由于時類型,時類型,類型不同,返回關系運算符關系運算符執行的是比較運算,通常用于判斷兩個變量哪個大哪個小關系運算符都返回一個布爾值。邏輯或運輸符用雙豎線表示。 1.運算符 JavaScript中常見的運算符包含:賦值運算符、算數運算符、等性運算符、關系運算符、條件運算符、布爾運算符、邏輯運算符…… 1.賦值運算符 = 賦值運算符=,用于給某個變...

    Sourcelink 評論0 收藏0
  • js等號探索(三): [] == false為True,而!![] == false為False

    摘要:所以為為第二步轉成根據文檔比較操作符如果一個對象與數字或字符串相比較,會嘗試返回對象的默認值。嘗試將數字字面量轉換為數字類型的值。 [] == false; //為True !![] == false; //為False 一、[] == false為True 第一步 轉成[] == 0 根據 MDN Web 文檔-比較操作符:https://developer.mozilla.org...

    DrizzleX 評論0 收藏0
  • js等號探索(一): [] == ![]為Ture ?

    摘要:所以為第四步轉成根據文檔比較操作符當比較數字和字符串時,字符串會轉換成數字值。嘗試將數字字面量轉換為數字類型的值。最后位所以為其他鏈接 [] == ![] //為True 第一步 轉成[] == false 根據 MDN Web 文檔-運算符優先級:[https://developer.mozilla.org...](https://developer.mozilla.org...s...

    CollinPeng 評論0 收藏0
  • form表單那點事兒(下) 進階篇

    摘要:在表單提交時,瀏覽器會自動進行一系列的校驗工作,沒有通過校驗的表單是無法提交到服務器的。而方法提交表單,會在請求中發送表單字段鍵值對。表單提交事件表單提交到服務器時,會觸發事件。 上一篇主要溫習了一下form表單的屬性和表單元素,這一片主要講解用JavaScript如何操作form。 表單操作 取值 用JavaScript操作表單,免不了會有取值賦值操作,比如有以下表單: ...

    jerryloveemily 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<