2019-06-10

轉(zhuǎn)換為布爾

將其他的數(shù)據(jù)類型轉(zhuǎn)換為Boolean
使用Boolean()函數(shù)

- 數(shù)字 ---> 布爾
- 除了0和NaN,其余的都是true
- 字符串 ---> 布爾
- 除了空串,其余的都是true
- null和undefined都會轉(zhuǎn)換為false
- 對象也會轉(zhuǎn)換為true

運算符

運算符也叫操作符
通過運算符可以對一個或多個值進(jìn)行運算,并獲取運算結(jié)果
比如:typeof就是運算符,可以來獲得一個值的類型,它會將該值的類型以字符串的形式返回
"number" "string" "boolean" "undefined" "object"

算數(shù)運算符
    當(dāng)對非Number類型的值進(jìn)行運算時,會將這些值轉(zhuǎn)換為Number然后在運算
    任何值和NaN做運算都得NaN

        +
            +可以對兩個值進(jìn)行加法運算,并將結(jié)果返回
            如果對兩個字符串進(jìn)行加法運算,則會做拼串,會將兩個字符串拼接為一個字符串,并返回
            任何的值和字符串做加法運算,都會先轉(zhuǎn)換為字符串,然后再和字符串做拼串的操作
        -
            - 可以對兩個值進(jìn)行減法運算,并將結(jié)果返回
        *
            * 可以對兩個值進(jìn)行乘法運算
        /
            / 可以對兩個值進(jìn)行除法運算
        %
            % 取模運算(取余數(shù))

任何值做- * /運算時都會自動轉(zhuǎn)換為Number
我們可以利用這一特點做隱式的類型轉(zhuǎn)換
可以通過為一個值 -0 *1 /1來將其轉(zhuǎn)換為Number
原理和Number()函數(shù)一樣,使用起來更加簡單

一元運算符

一元運算符,只需要一個操作數(shù)

+ 正號
    - 正號不會對數(shù)字產(chǎn)生任何影響
- 負(fù)號
    - 負(fù)號可以對數(shù)字進(jìn)行符號的取反
    
    - 對于非Number類型的值,它會將先轉(zhuǎn)換為Number,然后再運算
    - 可以對一個其他的數(shù)據(jù)類型使用+,來將其轉(zhuǎn)換為number,它的原理和Number()函數(shù)一樣

自增和自減

    自增 ++
        - 通過自增可以使變量在自身的基礎(chǔ)上增加1
        - 對于一個變量自增以后,原變量的值會立即自增1
        - 自增分成兩種:后++(a++) 和 前++(++a)    
            無論是a++還是++a,都會立即使原變量的值自增1
            不同的是a++和++a的值不同
            a++的值等于原變量的值(自增前的值)
            ++a的值等于新值 (自增后的值)

    自減 --
        - 通過自減可以使變量在自身的基礎(chǔ)上減1
        - 自減分成兩種:后--(a--) 和 前--(--a)
            無論是a--還是--a都會立即使原變量的值自減1
            不同的是a-- 和 --a的值不同
                a-- 是變量的原值 (自減前的值)
                --a 是變量的新值 (自減以后的值)

邏輯運算符

JS中為我們提供了三種邏輯運算符

    ! 非
        - !可以用來對一個值進(jìn)行非運算
        - 所謂非運算就是值對一個布爾值進(jìn)行取反操作,
            true變false,false變true
        - 如果對一個值進(jìn)行兩次取反,它不會變化
        - 如果對非布爾值進(jìn)行元素,則會將其轉(zhuǎn)換為布爾值,然后再取反
            所以我們可以利用該特點,來將一個其他的數(shù)據(jù)類型轉(zhuǎn)換為布爾值
            可以為一個任意數(shù)據(jù)類型取兩次反,來將其轉(zhuǎn)換為布爾值,原理和Boolean()函數(shù)一樣
    
    && 與
        - &&可以對符號兩側(cè)的值進(jìn)行與運算并返回結(jié)果
        - 運算規(guī)則
            - 兩個值中只要有一個值為false就返回false,
                只有兩個值都為true時,才會返回true
            - JS中的“與”屬于短路的與,
                如果第一個值為false,則不會看第二個值
    
    || 或
        - ||可以對符號兩側(cè)的值進(jìn)行或運算并返回結(jié)果
        - 運算規(guī)則:
            - 兩個值中只要有一個true,就返回true
                如果兩個值都為false,才返回false
            - JS中的“或”屬于短路的或
                如果第一個值為true,則不會檢查第二個值

與或運算

&& || 非布爾值的情況

 - 對于非布爾值進(jìn)行與或運算時,會先將其轉(zhuǎn)換為布爾值,然后再運算,并且返回原值
        - 與運算:
            - 如果第一個值為true,則必然返回第二個值
            - 如果第一個值為false,則直接返回第一個值
    
        - 或運算
            - 如果第一個值為true,則直接返回第一個值
            - 如果第一個值為false,則返回第二個值

賦值運算符

= 可以將符號右側(cè)的值賦值給符號左側(cè)的變量

關(guān)系運算符

通過關(guān)系運算符可以比較兩個值之間的大小關(guān)系,
如果關(guān)系成立它會返回true,如果關(guān)系不成立則返回false

    > 大于號
        - 判斷符號左側(cè)的值是否大于右側(cè)的值
        - 如果關(guān)系成立,返回true,如果關(guān)系不成立則返回false
    
    >= 大于等于
        - 判斷符號左側(cè)的值是否大于或等于右側(cè)的值
    
    < 小于號
    <= 小于等于
    
    非數(shù)值的情況
        - 對于非數(shù)值進(jìn)行比較時,會將其轉(zhuǎn)換為數(shù)字然后再比較
        - 如果符號兩側(cè)的值都是字符串時,不會將其轉(zhuǎn)換為數(shù)字進(jìn)行比較,而會分別比較字符串中字符的Unicode編碼
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,264評論 0 38
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,186評論 2 9
  • 運算符是處理數(shù)據(jù)的基本方法,用來從現(xiàn)有的值得到新的值。JavaScript 提供了多種運算符,本章逐一介紹這些運算...
    徵羽kid閱讀 784評論 0 0
  • 標(biāo)簽: 我的筆記 ---學(xué)習(xí)資料:http://javascript.ruanyifeng.com/ 1. 導(dǎo)論 ...
    暗夜的怒吼閱讀 958評論 0 1
  • js基礎(chǔ)知識 相等運算符: 相等運算符用來比較兩個值是否相等,如果相等會返回True,否則返回flase 使用 =...
    CC__XX閱讀 331評論 0 0

友情鏈接更多精彩內(nèi)容