亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

JavaScript

JavaScript中“+”的解析

時間:2024-06-16 10:14:31 JavaScript 我要投稿
  • 相關推薦

JavaScript中“+”的解析

  一、兩個中括號相加

  [] + []

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

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

  復制代碼 代碼如下:

  var arr = [];

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

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

  復制代碼 代碼如下:

  [].toString(); // ""

  String([]) // ""

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

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

  復制代碼 代碼如下:

  {} + []

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

  復制代碼 代碼如下:

  + []

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

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

  復制代碼 代碼如下:

  + ""

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

  那么最后的結果就是0。

  三、中括號和大括號相加

  復制代碼 代碼如下:

  [] + {}

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

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

  復制代碼 代碼如下:

  "" + "[object Object]"

  結果是 “[object Object]”。

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

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

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

如何調試javascript腳本呢07-19

javascript跨域訪問的方法07-19

廣告設計中的專業(yè)術語解析11-30

Excel中設置顯示當前的時間日期序號方法解析07-22

武術禮儀解析07-23

武術分類解析12-05

holiday的詞匯解析06-11

演講的技巧解析04-19

解析中國的團圓文化09-23

愛爾蘭留學弊端解析02-10