亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

JavaScript中“+”的解析

時(shí)間:2024-08-13 08:46:29 JavaScript 我要投稿
  • 相關(guān)推薦

JavaScript中“+”的解析

  一、兩個(gè)中括號(hào)相加

  [] + []

  中括號(hào)沒(méi)有語(yǔ)句塊的作用,因此這里的兩個(gè)中括號(hào)就是一個(gè)數(shù)組。兩個(gè)數(shù)組(對(duì)象類(lèi)型)相加先要將其轉(zhuǎn)換成值類(lèi)型(基本類(lèi)型)。

  1,轉(zhuǎn)成值類(lèi)型調(diào)用valueOf,[]的valueOf()還是自己

  復(fù)制代碼 代碼如下:

  var arr = [];

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

  2,轉(zhuǎn)成字符串,[]的toString是空字符串

  復(fù)制代碼 代碼如下:

  [].toString(); // ""

  String([]) // ""

  結(jié)果出來(lái)了。兩個(gè)空字符串相加,結(jié)果仍然是空字符串。即這里的“+”指字符串連接而非數(shù)字相加。

  二、大括號(hào)和中括號(hào)的相加

  復(fù)制代碼 代碼如下:

  {} + []

  注意這里的大括號(hào)仍然不是對(duì)象直接量,而是空語(yǔ)句塊。因此可以去掉它,即相當(dāng)于

  復(fù)制代碼 代碼如下:

  + []

  注意,這時(shí)由之前看似的兩個(gè)運(yùn)算數(shù)變成了實(shí)際的單運(yùn)算數(shù)。而“+”運(yùn)算符當(dāng)只有一個(gè)運(yùn)算數(shù)時(shí)只代表一個(gè)意思:算術(shù)加運(yùn)算。即這里沒(méi)有字符串連接的意思了。

  中括號(hào)的toString()是空字符串,又相當(dāng)于

  復(fù)制代碼 代碼如下:

  + ""

  “+”代表算術(shù)加運(yùn)算,字符串非數(shù)字,因此將其轉(zhuǎn)換成數(shù)字類(lèi)型?兆址D(zhuǎn)成數(shù)字類(lèi)型在上一篇提到過(guò),為0。

  那么最后的結(jié)果就是0。

  三、中括號(hào)和大括號(hào)相加

  復(fù)制代碼 代碼如下:

  [] + {}

  與上面的對(duì)比,只是中括號(hào)和小括號(hào)交換了順序。結(jié)果卻不相同。大括號(hào)放到右邊后,與上面討論的大括號(hào)的意義不同了。這里的大括號(hào)就是一個(gè)對(duì)象直接量而非語(yǔ)句塊。

  “+” 兩邊的運(yùn)算數(shù)轉(zhuǎn)成值類(lèi)型分別是:"" 和 "[object Object]"。這時(shí) "+" 表示字符串連接。即

  復(fù)制代碼 代碼如下:

  "" + "[object Object]"

  結(jié)果是 “[object Object]”。

  四、小括號(hào)也和它們相加試試

  突發(fā)奇想!好吧,小括號(hào)雖然有多義性,但它不能作為運(yùn)算數(shù)。

【JavaScript中“+”的解析】相關(guān)文章:

JavaScript中的with關(guān)鍵字07-24

在Java中執(zhí)行JavaScript代碼07-14

Javascript中typeof 用法歸納09-27

抽象語(yǔ)法樹(shù)在JavaScript中的應(yīng)用08-18

JavaScript中的三種對(duì)象10-24

perl- javascript中class的機(jī)制05-03

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

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

javascript中for/in循環(huán)以及常見(jiàn)的使用技巧06-24

javascript面向?qū)ο笾械膶?duì)象怎么理解09-02