<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        跟我學習javascript的隱式強制轉換_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:45:29
        文檔

        跟我學習javascript的隱式強制轉換_javascript技巧

        跟我學習javascript的隱式強制轉換_javascript技巧:JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。 object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬于哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫
        推薦度:
        導讀跟我學習javascript的隱式強制轉換_javascript技巧:JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。 object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬于哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫

        JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。

        object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬于哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫隱式轉換。隱式轉換通常發生在運算符加減乘除,等于,還有小于,大于等。

        一、基本類型的轉換

        下面先講加減乘除:

        1. 字符串加數字,數字就會轉成字符串。

        2. 數字減字符串,字符串轉成數字。如果字符串不是純數字就會轉成NaN。字符串減數字也一樣。兩個字符串相減也先轉成數字。

        3. 乘,除,大于,小于跟減的轉換也是一樣。

        4.加法操作順序是敏感的

        類似這樣的混合表達式有時令人困惑,因為 JavaScript 對操作順序是敏感的。例如,表達式:1+2+"3"; //"33"

        由于加法運算是自左結合的(即左結合律),因此,它等同于下面的表達式:(1+2)+"3"; //"33"

        與此相反,表達式:1+"2"+3; //"123"的計算結果為字符串“123”。左結合律相當于是將表達式左側的加法運算包裹在括號中。

        5.再來看看一組 ==

        1).undefined等于null

        2).字符串和數字比較時,字符串轉數字

        3).數字為布爾比較時,布爾轉數字

        4).字符串和布爾比較時,兩者轉數字

        7個false值:false,0,-0,“”,NaN,null以及undefined,所有其他值都是truth

        6、NaN,不是一個數字

        NaN 是一個特殊值,說明某些算術運算(如求負數的平方根)的結果不是數字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串時就返回這個值。對于一些常規情況下返回有效數字的函數,也可以采用這種方法,用 Number.NaN 說明它的錯誤情況。

        對于很多JavaScript的初學者來說,它的第一個陷阱是調用typeof時返回結果的通常是你想不到的:

        這情情況下,NaN并不意味著是一個數字,它的類型是數字。明白嗎?
        因為typeof 返回的是字符串,有六種:“number”、”string”、”boolean”、”object”、”function”、”undefined

        保持冷靜,因為下面還有很多混亂的地方。讓我們比較兩個NaN:

        也許這是因為我們沒有使用嚴格等價(===)操作?顯然不是。

        直接比較兩個NaN呢?

        因為有很多方法來表示一個非數字,所以一個非數字不會等于另一個為NaN的非數字,它還是有一定道理的。

        但是當然,解決方案現在已經有了。讓我們認識一下全局函數isNaN:

        唉,不過 isNaN() 也有它自己的很多缺陷呀:

        這樣又產生了很多不同的解決方案。其中一個是利用 了NaN的非反射性質(例如, 看看 Kit Cambridge 的筆記)

        不過幸運的是,在即將到來的ECMAScript 6中, 有一個Number.isNaN() 方法提供可靠的NaN值檢測。
        換句話說,只有在參數是真正的NaN時,才會返回true

        二、引用類型的轉換

        基本類型間的比較相對簡單。引用類型和基本類型的比較就相對復雜一些,先要把引用類型轉成基本類型,再按上述的方法比較。

        1.引用類型轉布爾全是true。

        比如空數組,只要是對象就是引用類型,所以[]為true。引用類型轉數字或者字符串就要用valueOf()或者toString();對象本身就繼承了valuOf()和toString(),還可以自定義valueOf()和toString()。根據不同的對象用繼承的valueOf()轉成字符串,數字或本身,而對象用toString就一定轉為字符串。一般對象默認調用valueOf()。

        1).對象轉數字時,調用valueOf();

        2).對象轉字符串時,調用toString();

        先看看下面的例子:

        對象轉成數字時,調用valueOf(),在這之前先調用的是toString();所以我猜valueOf方法是這樣的。So上面的例子 0 == []要改成下面更合理。無論如何,[]最后是轉成0的。

        自定義的valueOf()和toString();

      1. 自定義的valueOf()和toString()都存在,會默認調用valueOf();
      2. 如果只有toString(),則調用toString();
      3. 去掉valueOf()就會調用toString()。

        如果返回其它會怎么樣呢?

        其它對象 調用valueOf()轉成不同的類型:

        引用類型之間的比較是內存地址的比較,不需要進行隱式轉換,這里不多說。

        [] == [] //false 地址不一樣

        var a = [];
        b = a;
        b == a //true

        2.顯式轉換

        顯式轉換比較簡單,可以直接用類當作方法直接轉換。

        Number([]); //0
        String([]); //”
        Boolean([]); //true

        還有更簡單的轉換方法。

        3 + ” // 字符串'3'
        +'3' // 數字3
        !!'3' // true

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        跟我學習javascript的隱式強制轉換_javascript技巧

        跟我學習javascript的隱式強制轉換_javascript技巧:JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。 object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬于哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫
        推薦度:
        標簽: 轉換 js javascript
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 深夜特黄a级毛片免费播放| 亚洲国产成人久久精品软件| 五月天婷婷免费视频| 亚洲不卡无码av中文字幕| 最新亚洲人成无码网站| heyzo亚洲精品日韩| 一区二区视频在线免费观看| 亚洲中文字幕无码中文字在线| 国产精品1024在线永久免费| 中文字幕日韩亚洲| 一级毛片在线观看免费| 久久久亚洲裙底偷窥综合| 成人免费在线看片| 亚洲日本成本人观看| 国产精品嫩草影院免费| 国产vA免费精品高清在线观看| 91麻豆国产自产在线观看亚洲| 免费av一区二区三区| 亚洲精品欧洲精品| 成人毛片免费观看视频大全| 成人亚洲国产精品久久| 亚洲午夜久久久影院| 99re在线精品视频免费| 国产成人亚洲精品| 亚洲av无码国产精品色在线看不卡| 亚洲一级片免费看| 久久狠狠高潮亚洲精品| 在线观看国产情趣免费视频| 皇色在线免费视频| 亚洲伊人久久大香线蕉| 亚洲av区一区二区三| 亚洲免费视频网站| 亚洲无人区码一二三码区别图片 | 日韩大片免费观看视频播放| 亚洲色欲色欲www在线丝| 四虎最新永久免费视频| 麻豆安全免费网址入口| 亚洲视频在线观看地址| 免费国产真实迷j在线观看| 在线看片免费人成视频福利| 亚洲日韩av无码中文|