• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. JavaScript中“+”的解析

        時間:2024-08-13 08:46:29 JavaScript 我要投稿
        • 相關推薦

        JavaScript中“+”的解析

          一、兩個中括號相加

          [] + []

          中括號沒有語句塊的作用,因此這里的兩個中括號就是一個數組。兩個數組(對象類型)相加先要將其轉換成值類型(基本類型)。

          1,轉成值類型調用valueOf,[]的valueOf()還是自己

          復制代碼 代碼如下:

          var arr = [];

          arr.valueOf() === arr; // true

          2,轉成字符串,[]的toString是空字符串

          復制代碼 代碼如下:

          [].toString(); // ""

          String([]) // ""

          結果出來了。兩個空字符串相加,結果仍然是空字符串。即這里的“+”指字符串連接而非數字相加。

          二、大括號和中括號的相加

          復制代碼 代碼如下:

          {} + []

          注意這里的大括號仍然不是對象直接量,而是空語句塊。因此可以去掉它,即相當于

          復制代碼 代碼如下:

          + []

          注意,這時由之前看似的兩個運算數變成了實際的單運算數。而“+”運算符當只有一個運算數時只代表一個意思:算術加運算。即這里沒有字符串連接的意思了。

          中括號的toString()是空字符串,又相當于

          復制代碼 代碼如下:

          + ""

          “+”代表算術加運算,字符串非數字,因此將其轉換成數字類型。空字符串轉成數字類型在上一篇提到過,為0。

          那么最后的結果就是0。

          三、中括號和大括號相加

          復制代碼 代碼如下:

          [] + {}

          與上面的對比,只是中括號和小括號交換了順序。結果卻不相同。大括號放到右邊后,與上面討論的大括號的意義不同了。這里的大括號就是一個對象直接量而非語句塊。

          “+” 兩邊的運算數轉成值類型分別是:"" 和 "[object Object]"。這時 "+" 表示字符串連接。即

          復制代碼 代碼如下:

          "" + "[object Object]"

          結果是 “[object Object]”。

          四、小括號也和它們相加試試

          突發奇想!好吧,小括號雖然有多義性,但它不能作為運算數。

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【JavaScript中“+”的解析】相關文章:

        JavaScript中的with關鍵字07-24

        在Java中執行JavaScript代碼07-14

        Javascript中typeof 用法歸納09-27

        抽象語法樹在JavaScript中的應用08-18

        JavaScript中的三種對象10-24

        perl- javascript中class的機制05-03

        JavaScript中push(),join() 函數實例詳解09-05

        詳解JavaScript中的splice()使用方法08-20

        javascript中for/in循環以及常見的使用技巧06-24

        javascript面向對象中的對象怎么理解09-02

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 久久国产精品湿香蕉网 | 中文字幕精品视频在线 | 亚洲欧美综合精品在线 | 亚洲AⅤ日韩久久久久久 | 亚洲Aⅴ午夜福利精品一区 一本精品99久久精品77 | 午夜精品久久久久久不卡 |

            JavaScript中“+”的解析

              一、兩個中括號相加

              [] + []

              中括號沒有語句塊的作用,因此這里的兩個中括號就是一個數組。兩個數組(對象類型)相加先要將其轉換成值類型(基本類型)。

              1,轉成值類型調用valueOf,[]的valueOf()還是自己

              復制代碼 代碼如下:

              var arr = [];

              arr.valueOf() === arr; // true

              2,轉成字符串,[]的toString是空字符串

              復制代碼 代碼如下:

              [].toString(); // ""

              String([]) // ""

              結果出來了。兩個空字符串相加,結果仍然是空字符串。即這里的“+”指字符串連接而非數字相加。

              二、大括號和中括號的相加

              復制代碼 代碼如下:

              {} + []

              注意這里的大括號仍然不是對象直接量,而是空語句塊。因此可以去掉它,即相當于

              復制代碼 代碼如下:

              + []

              注意,這時由之前看似的兩個運算數變成了實際的單運算數。而“+”運算符當只有一個運算數時只代表一個意思:算術加運算。即這里沒有字符串連接的意思了。

              中括號的toString()是空字符串,又相當于

              復制代碼 代碼如下:

              + ""

              “+”代表算術加運算,字符串非數字,因此將其轉換成數字類型。空字符串轉成數字類型在上一篇提到過,為0。

              那么最后的結果就是0。

              三、中括號和大括號相加

              復制代碼 代碼如下:

              [] + {}

              與上面的對比,只是中括號和小括號交換了順序。結果卻不相同。大括號放到右邊后,與上面討論的大括號的意義不同了。這里的大括號就是一個對象直接量而非語句塊。

              “+” 兩邊的運算數轉成值類型分別是:"" 和 "[object Object]"。這時 "+" 表示字符串連接。即

              復制代碼 代碼如下:

              "" + "[object Object]"

              結果是 “[object Object]”。

              四、小括號也和它們相加試試

              突發奇想!好吧,小括號雖然有多義性,但它不能作為運算數。